SpringBoot集成分页插件PageHelper的配置和使用过程
作者:无敌的大帅比
这篇文章主要介绍了SpringBoot集成分页插件PageHelper的配置和使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
SpringBoot集成分页插件PageHelper配置使用
maven依赖引入
pom.xml配置
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.3</version> </dependency>
application.properties文件配置pagehelper分页插件
#标识是数据库方言 pagehelper.helperDialect=mysql #启用合理化,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 pagehelper.reasonable=true #为了支持startPage(Object params)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值, 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero pagehelper.params=count=countSql #支持通过 Mapper 接口参数来传递分页参数,默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页 pagehelper.supportMethodsArguments=true #如果 pageSize=0 就会查询出全部的结果(相当于没有执行分页查询) pagehelper.page-size-zero=true
代码示例
PageHelper.startPage(pageNum, pageSize);//开启设置分页 List<User> users= (List<User> )userDao.selectAll();//mapper文件的查询 PageInfo<User> pageInfo = new PageInfo<User>(users);//类型转化PageInfo
pagehelper分页插件中的一个坑!!!
使用分页查询时,加上了查询条件,结果查询的内容少了!
原因是pagehelper的配置信息reasonable在捣鬼。
- 当pagehelper.reasonable=true
- 先设定数据库中查询的范围,在根据条件查询。此时查询范围外的数据就查不到了
- 当pagehelper.reasonable=false
- 先根据条件查询数据库,然后在根据范围进行分页。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。