1、在实体类添加注解
@TableId(value = "id",type=IdType.ID_WORKER_STR) private String id;@TableLogic @ApiModelProperty(value = "逻辑删除 1(true),未删除0 (false )") private Boolean isDeleted;@ApiModelProperty(value = "创建时间") @TableField(fill = FieldFill.INSERT) private Date gmtCreate;@TableField(fill = FieldFill.INSERT_UPDATE) @ApiModelProperty(value = "更新时间") private Date gmtModified;
2、配置——逻辑删除/分页
@Configuration @MapperScan("com.atguigu.eduservice.mapper") //mapper是操作数据的包 public class MyConfig {//逻辑删除@Beanpublic ISqlInjector sqlInjector() {return new LogicSqlInjector();}//分页@Beanpublic PaginationInterceptor paginationInterceptor() {PaginationInterceptor paginationInterceptor = new PaginationInterceptor();// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false// paginationInterceptor.setOverflow(false);// 设置最大单页限制数量,默认 500 条,-1 不受限制// paginationInterceptor.setLimit(500);// 开启 count 的 join 优化,只针对部分 left join // paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));return paginationInterceptor;} }
3、时间自动填充
@Component public class MyMetaObjectHandler implements MetaObjectHandler {@Overridepublic void insertFill(MetaObject metaObject) {this.setFieldValByName("gmtCreate",new Date(),metaObject);this.setFieldValByName("gmtModified",new Date(),metaObject);}@Overridepublic void updateFill(MetaObject metaObject) {this.setFieldValByName("gmtModified",new Date(),metaObject);} }