SpringBoot集成MybatisPlus
Posted 伍妖捌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot集成MybatisPlus相关的知识,希望对你有一定的参考价值。
前言
对于SpringBoot、Mybatis、MybatisPlus还不太熟悉的小伙伴,自行去研究,这里不做过多的解释。此文章主要为了方便在以后的开发过程当中,将MybatisPlus快速集成到SpringBoot项目当中来,到达快速开发的目的。
配置类
此配置主要是用来做分页配置的,默认最大分页500条,-1L分页大小无上限
@Configuration
@MapperScan(basePackages = "com.dulang.template.*.mapper")
@EnableTransactionManagement
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
PaginationInnerInterceptor innerInterceptor = new PaginationInnerInterceptor(DbType.mysql);
innerInterceptor.setMaxLimit(-1L);
mybatisPlusInterceptor.addInnerInterceptor(innerInterceptor);
mybatisPlusInterceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return mybatisPlusInterceptor;
}
}
@Configuration: 此类作为SpringBoot的配置类
@MapperScan(basePackages = “com.dulang.template.*.mapper”): Mapper文件扫描路径
@EnableTransactionManagement: 启用事务管理
属性自动填充
每张数据库表都会有创建时间、更新时间等字段,像这种字段可以设置自动填充。
填充规则
创建时间:在创建(即新增记录)的时候添加,以后都不会更改。
更新时间:在每次数据更新的时候更改。
@Component
public class AutoFillFieldHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("createTime", new Date(), metaObject);
this.setFieldValByName("updateTime", new Date(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updateTime", new Date(), metaObject);
}
}
使用
在相应的字段上面添加以下注解即可
// @ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Date createTime;
// @ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
以上是关于SpringBoot集成MybatisPlus的主要内容,如果未能解决你的问题,请参考以下文章
MyBatisPlus新版本SpringBoot集成MyBatisPlus主键生成策略
MyBatisPlus新版本SpringBoot集成MyBatisPlus主键生成策略
MyBatisPlus新版本SpringBoot集成MyBatisPlus主键生成策略