SpringBoot PageHelper分页查询
花伤情犹在 人气:0前言
本文介绍的是MyBatis 分页插件 PageHelper,如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页。
官方文档:http://pagehelper.github.io/
项目地址:https://github.com/pagehelper/Mybatis-PageHelper
使用方法
导入依赖
在中央仓库sonatype中搜索 pageHelper
,找到 pagehelper-spring-boot-starter
可以自选版本,选择你所使用的依赖管理工具对应的依赖坐标,例如我用的依赖管理工具是Maven,那我就选择对应Maven的依赖坐标。
添加pagehelper-spring-boot-starter
的Maven依赖
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.4.1</version> </dependency>
添加该依赖之后无需再添加MyBatis的依赖,因为该依赖默认依赖了MyBatis:
编写配置文件
使用yaml格式:
pagehelper: helper-dialect: mysql reasonable: true support-methods-arguments: true params: count=countSql
使用properties格式:
# 指定分页插件的方言
pagehelper.helper-dialect=mysql
# 分页合理化
pagehelper.reasonable=true
# 支持方法参数
pagehelper.support-methods-arguments=true
#配置参数映射
pagehelper.params=count=countSql
参数说明:
可参考官方文档
准备数据表
准备Mapper接口
测试查询全部数据
运行结果:
默认SQL语句就是查询全部数据
PageHelper 分页查询
使用PageHelper.startPage(pageNum,pageSize)
方法来设置分页信息,分别是当前页数和每页显示的总记录数
注意:必须在mapper接口中的方法执行之前设置该分页信息
运行结果:
PageHelper.startPage(pageNum,pageSize)方法只对后面一次查询生效
下面有2次查询所有数据,第1次查询所有数据前插入了PageHelper.startPage(pageNum,pageSize)
方法,所以第1次查询是分页查询,而第2次查询前没有插入PageHelper.startPage(pageNum,pageSize)
方法,所以不是分页查询。
运行结果:
验证一下数据库的全部数据也确实只有7条:
加载全部内容