MybatisPlus(七) 插件的使用~分页插件(配置类篇)
一、Springboot 配置分页插件
@Configuration public class MybatisPlusConfig { /*分页插件*/ @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 配置分页插件 并 选择数据库类型 interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2)); return interceptor; } }
二、代码测试
@Test public void testPage(){ //设置分页参数 Page<User> page = new Page<>(1, 5); //查询数据库操作
userMapper.selectPage(page, null); //获取分页数据 List<User> list = page.getRecords(); list.forEach(System.out::println); System.out.println("当前页:"+page.getCurrent()); System.out.println("每页显示的条数:"+page.getSize()); System.out.println("总记录数:"+page.getTotal()); System.out.println("总页数:"+page.getPages()); System.out.println("是否有上一页:"+page.hasPrevious()); System.out.println("是否有下一页:"+page.hasNext()); }
三、测试结果如下
UserDO(id=1, name=小, sex=男, password=123, status=1) UserDO(id=2, name=名, sex=女, password=123, status=0) UserDO(id=3, name=个, sex=男, password=123, status=1) UserDO(id=4, name=xiao, sex=女, password=5555, status=0) UserDO(id=6, name=小, sex=女, password=778999897, status=0) 当前页:1 每页显示的条数:5 总记录数:22 总页数:5 是否有上一页:false 是否有下一页:true
四、相关属性介绍
注意:Page该类继承了 IPage 类,实现了 简单分页模型 如果你要实现自己的分页模型可以继承 Page 类或者实现 IPage 类
属性名 | 类型 | 默认值 | 描述 |
current | Long | 1 | 当前页 |
size | Long | 10 | 每页显示条数,默认 10 |
total | Long | 0 | 查询列表总记录数 |
records | List | emptyList | 查询数据列表 |
orders | List | emptyList | 排序字段信息,允许前端传入的时候,注意 SQL 注入问题,可以使用 SqlInjectionUtils.check(...) 检查文本 |
optimizeCountSql | boolean | true | 自动优化 COUNT SQL 如果遇到 jSqlParser 无法解析情况,设置该参数为 false |
optimizeJoinOfCountSql | boolean | true | 自动优化 COUNT SQL 是否把 join 查询部分移除 |
searchCount | boolean | true | 是否进行 count 查询,如果指向查询到列表不要查询总记录数,设置该参数为 false |
maxLimit | Long | 单页分页条数限制 | |
countId | String | xml 自定义 count 查询的 statementId |