SpringBoot整合PageHelper实现分页查询

Posted 花伤情犹在

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot整合PageHelper实现分页查询相关的知识,希望对你有一定的参考价值。

前言

本文介绍的是MyBatis 分页插件 PageHelper,如果你也在用 MyBatis,建议尝试该分页插件,这一定是最方便使用的分页插件。分页插件支持任何复杂的单表、多表分页。

官方文档:https://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条:

以上是关于SpringBoot整合PageHelper实现分页查询的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot整合PageHelper实现分页查询

SpringBoot整合mybatis使用pageHelper插件进行分页操作

springboot整合分页插件PageHelper

SpringBoot与PageHelper的整合示例详解

springboot整合分页插件PageHelper

Spring Boot系列SpringBoot整合PageHelper分页组件以及前端js分页插件