这个过程其实mybatisplus中都有,在此做一个小笔记
首先是分页,在mybatisplus的分页,要写一个配置文件,来实现分页:
@Component
@Configuration
public class MybatisPageHandler {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInt0erceptor = new PaginationInterceptor();
// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
// paginationInterceptor.setOverflow(false);
// 设置最大单页限制数量,默认 500 条,-1 不受限制
// paginationInterceptor.setLimit(500);
// 开启 count 的 join 优化,只针对部分 left join
return paginationInt0erceptor;
}
}
之后再代码里:
@GetMapping("findByPage/{current}/{limit}")
public R selectPage(@PathVariable("current") Integer current,@PathVariable("limit")Integer limit){
return R.ok().data("total",eduTeacherMapper.selectPage(new Page<>(current,limit),null).getTotal())
.data("rows",eduTeacherMapper.selectPage(new Page<>(current,limit),null).getRecords());
}
自动填充的话,我们也需要做一个配置文件,但是这个多一个就是我们还需要再你要自动填充的列值上加上对应的注解:
@TableField
看配置:要继承MetaObjectHandler类,里边用函数实现填充,三个参数分别代表着:
列名,值,形参
@Component
public class MybatisHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
setFieldValByName("gmtCreate",new Date(),metaObject);
setFieldValByName("gmtModified",new Date(),metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
setFieldValByName("gmtModified",new Date(),metaObject);
}
}
加入注解:
@ApiModelProperty(value = "逻辑删除 1(true)已删除, 0(false)未删除")
@TableLogic
private Boolean isDeleted;
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Date gmtCreate;
@ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date gmtModified;