自动填充(时间)
先添加两个字段(数据库和实体类都要)
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
然后在配置类实现接口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);
}
逻辑删除
先添加逻辑删除字段(执行删除操作后不会删除数据库数据,只会把deleted字段改为1)
@TableLogic
private Integer deleted;
配置类配置
@Bean
public ISqlInjector sqlInjector() {
return new LogicSqlInjector();
}
yml文件增加
mybatis-plus.global-config.db-config.logic-delete-value=1
mybatis-plus.global-config.db-config.logic-not-delete-value=0
分页插件
配置类配置
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
SQL执行效率插件(dev是开发环境、test是测试环境)
/**
* SQL执行效率插件
*/
@Bean
@Profile({"dev","test"})// 设置 dev test 环境开启,保证我们的效率
public PerformanceInterceptor performanceInterceptor() {
PerformanceInterceptor performanceInterceptor = new
PerformanceInterceptor();
performanceInterceptor.setMaxTime(100); // ms设置sql执行的最大时间,如果超过了则不
performanceInterceptor.setFormat(true); // 是否格式化代码
return performanceInterceptor;
}
yml文件增加
Spring.profiles.active= dev