MybatisPlus分页插件的使用
1、配置文件添加拦截
@Configuration
@MapperScan("cn.aierxing.management.mapper")
public class MyConfig implements WebMvcConfigurer {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
2、定义一个pojo类 PageList 用来接收页面传递过来的分页信息
@Data
public class PageList {
private int pageNo;
private int pageSize;
}
3、Service层调用Mapper的 selectPag(),详细解释见备注
@Override
public Page getListPage(PageList pageList) {
Page page = new Page(pageList.getPageNo(),pageList.getPageSize());
mapper.selectPage(page,null);
return page;
}
4、Service的返回值Page,格式如下:
返回的Page信息如下:
* current: 1 --- 当前页码
* hitCount: false
* optimizeCountSql: true
* orders: Array []
* pages: 2 --- 总页数
* records: Array(10) [ {…}, {…}, {…}, … ] 查询到的数据
* searchCount: true
* size: 10 --- 每页条数
* total: 14 --- 总记录数