springblade的CRUD示例

阅读数:116 评论数:0

跳转到新版页面

分类

python/Java

正文

1、建表

2、创建实体类

@Data
@TableName("blade_blog")
public class Blog implements Serializable {

   private static final long serialVersionUID = 1L;
   /**
    * 主键
    */
   private Integer id;
   /**
    * 标题
    */
   private String blogTitle;
   /**
    * 内容
    */
   private String blogContent;
   /**
    * 时间
    */
   private LocalDateTime blogDate;
   /**
    * 是否已删除
    */
   @TableLogic
   private Integer isDeleted;

}

(1)使用lombok的@Data注解增加get set方法。

(2)一般实体类都需要用到缓存、序列化等,所以需要实现序列化接口。

(3)加上mybatis-plus的注解,因为数据库中id是自增的,所以不需要配置。若id为自定义,比如使用snow-flake算法,则需要在private Integer id上配置注解@TableId(value="id",type=IdType.ID_WORKER)。

(4)mybatis plus的@TableLogic注解可以使用删除操作变成更新操作。

3、建立Service和Mapper

(1)BlogMapper增加mybatis-plus的配置

package org.springbalde.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.demo.entity.Blog;

public interface BlogMapper extends BaseMapper<Blog> {

}

(2)BlogService增加mybatis-plus的配置

package org.springbalde.demo.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springbalde.demo.mapper.BlogMapper;
import org.springbalde.demo.service.BlogService;
import org.springblade.demo.entity.Blog;
import org.springframework.stereotype.Service;

@Service
public class BlogServiceImpl extends ServiceImpl<BlogMapper, Blog> implements BlogService{

}

springblade默认的mybatis扫描包名为org.springblade,可以通过如下方式配置其它包扫描路径。

@Configuration
@MapperScan("org.springblade.**.mapper.**")
public class MybatisPlusConfiguration {}

或者
mybatis-plus:
  mpper-locations: classpath: org/springblade/**/mapper/*Mapper.xml
  # 多个用逗号分隔
  typeAliasesPackage: org.springblade.**.entity



相关推荐

SpringBlade对SpringCloud做了封装。 SpringBlade ├── blade-auth --

一、主要特性 1、采用前后端分离的模式,前端开源两个框架Sword(基于React、Ant Design)、Saber(基于Vue、Element-UI)。 2、

/** * 统一API响应结果封装 * * @author Chill */ @Getter @Setter @ToStrin

@RestController @RequestMapping("api") public class DemoController

1、单条数据 /** * 详情 */ @GetMapping("/detail") public R&lt;Blog

1、需要数据隔离的业务表,新建一个字段,tenant_id。 2、实体类无需将这个字段写入,因为框架底层会自动对tenant_id进行处理。 3、在对应的applic

简介 权限模块从大的方面来说,可以分为三种大的类型:功能权限、接口权限、数据权限。 1、功能权限 也就是我们熟悉的菜单、按钮权限。可以配置各个角色能

1、密码模式 密码模式主要针对可信应用。 /blade-auth/oauth/token <code