SpringBoot+Mybatis+PageHelper实现分页
SpringBoot+Mybatis+PageHelper实现分页
mybatis自己没有分页功能,我们可以通过PageHelper工具来实现分页,非常简单方便
第一步:添加依赖
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.3</version> </dependency>
第二步:配置pagehelper
方式一:在yml配置文件中配置
pagehelper: helperDialect: mysql reasonable: true supportMethodsArguments: true params: count=countSql
方式二:使用@Bean注入配置
@Bean public PageHelper getPageHelper() { PageHelper pageHelper = new PageHelper(); Properties properties = new Properties(); properties.setProperty("helperDialect", "mysql"); properties.setProperty("reasonable", "true"); properties.setProperty("supportMethodsArguments", "true"); properties.setProperty("params", "count=countSql"); pageHelper.setProperties(properties); return pageHelper; }
配置项说明:
helperDialect:指定数据库
reasonable:默认是false。启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages(最大页数)会查询最后一页。禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据
supportMethodsArguments:是否支持接口参数来传递分页参数,默认false
params:为了支持startPage(Object params)
方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable
,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero
其余参数详情请看官方文档:https://pagehelper.github.io/docs/howtouse/
第三步:使用PageHelper的api分页
PageHelper.startPage(pageCount, pageSize);
在查询语句上一行添加以上语句,就可以实现分页了。并不需要在具体的sql语句中写limit语句,非常方便
pageCount:选择页数
pageSize:设定每页记录数