SpringBoot整合PageHelper实现分页查询功能详解

 更新时间:2022年03月03日 09:51:26   作者:花伤情犹在  
PageHelper是mybatis框架的一个插件,用于支持在mybatis执行分页操作。本文将通过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分页查询的资料请关注脚本之家其它相关文章!

相关文章

  • Spring Data JPA实现持久化存储数据到数据库的示例代码

    Spring Data JPA实现持久化存储数据到数据库的示例代码

    Spring Data JPA是Spring基于JPA规范的基础上封装的⼀套 JPA 应⽤框架,可使开发者⽤极简的代码即可实现对数据库的访问和操作。本文我们来了解如何用Spring Data JPA框架实现数据持久化存储到数据库,感兴趣的可以了解一下
    2022-04-04
  • yaml文件中${}语法取值方式

    yaml文件中${}语法取值方式

    在Spring Boot中,配置文件中的${test.aa}等占位符的值可以通过系统属性或依赖的其他模块来获取,这意味着,可以通过JVM参数或者系统属性来指定这些值,例如,通过在启动命令中添加-Dtest.aa=your_value或在代码中通过
    2024-10-10
  • 使用stream的Collectors.toMap()方法常见的问题及解决

    使用stream的Collectors.toMap()方法常见的问题及解决

    这篇文章主要介绍了使用stream的Collectors.toMap()方法常见的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • IntelliJ IDEA中显示和关闭工具栏与目录栏的方法

    IntelliJ IDEA中显示和关闭工具栏与目录栏的方法

    今天小编就为大家分享一篇关于IntelliJ IDEA中显示和关闭工具栏与目录栏的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 基于Lombok集成springboot遇到的坑

    基于Lombok集成springboot遇到的坑

    这篇文章主要介绍了Lombok集成springboot遇到的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java设计模式之原型设计示例详解

    Java设计模式之原型设计示例详解

    这篇文章主要为大家详细介绍了Java的原型设计模式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • 实例讲解Java并发编程之闭锁

    实例讲解Java并发编程之闭锁

    这篇文章主要介绍了实例讲解Java并发编程之闭锁,闭锁相当于一扇门,在闭锁到达结束状态之前,这扇门一直是关闭着的,没有任何线程可以通过,当到达结束状态时,这扇门才会打开并容许所有线程通过,需要的朋友可以参考下
    2015-04-04
  • Springboot中的异步任务执行及监控详解

    Springboot中的异步任务执行及监控详解

    这篇文章主要介绍了Springboot中的异步任务执行及监控详解,除了自己实现线程外,springboot本身就提供了通过注解的方式,进行异步任务的执行,下面主要记录一下,在Springboot项目中实现异步任务,以及对异步任务进行封装监控,需要的朋友可以参考下
    2023-10-10
  • Java垃圾回收机制的finalize方法实例分析

    Java垃圾回收机制的finalize方法实例分析

    这篇文章主要介绍了Java垃圾回收机制的finalize方法,结合实例形式分析了finalize方法的特点及在垃圾回收机制中的相关操作技巧,需要的朋友可以参考下
    2019-08-08
  • SpringBoot如何集成i18n(多语言)

    SpringBoot如何集成i18n(多语言)

    这篇文章主要介绍了SpringBoot如何集成i18n(多语言)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04

最新评论