SpringBoot整合PageHelper
1、添加pom依赖
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.10</version> </dependency>
2、添加配置(可以不写配置)
参数说明:
helperDialect
:分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。 你可以配置helperDialect
属性来指定分页插件使用哪种方言。
reasonable
:分页合理化参数,默认值为false
。当该参数设置为 true
时,pageNum<=0
时会查询第一页, pageNum>pages
(超过总数时),会查询最后一页。默认false
时,直接根据参数进行查询。
supportMethodsArguments
:支持通过 Mapper 接口参数来传递分页参数,默认值false
,分页插件会从查询方法的参数值中,自动根据上面 params
配置的字段中取值,查找到合适的值时就会自动分页。
params
:为了支持startPage(Object params)
方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable
,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero
更多参数见:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md
yml格式:
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
3. demo演示
@Service public classDemoService { @Autowired privateDemoMapper demoMapper; //当前页 一页多少个 mysql通过limit分页 public PageInfo<Demo> findDemoList(int page, int size) { // 开启分页插件,放在查询语句上面 帮助生成分页语句 PageHelper.startPage(page, size); //底层实现原理采用改写语句 将下面的方法中的sql语句获取到然后做个拼接 limit AOPjishu List<Demo> listDemo = demoMapper.findDemoList(); // 封装分页之后的数据 返回给客户端展示 PageInfo做了一些封装 作为一个类 PageInfo<Demo> pageInfoDemo = new PageInfo<Demo>(listDemo); //所有分页属性都可以冲pageInfoDemo拿到; return pageInfoDemo; }