SpringBoot 下的 PageHelper 分页插件
本文最后更新于 2025-04-28,文章内容可能已经过时。
前言
本篇文章只讲解怎么使用,不涉及原理和源码。
正文
在pom.xml中引入PageHelper的jar包;
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency>
在Springboot的配置文件中添加配置;
pagehelper: helperDialect: mysql reasonable: true supportMethodsArguments: true params: count=countSql
在service层需要分页的集合前,添加开启分页代码(page为第几页,size为每页几条);PageHelper.startPage(page, size);
将查询结果集合转为Page对象,有两种方式;
// 方式一:通过PageInfo对象获取,将查询结果集合传入(findSearch为查询方法) List<UserVo> list = userMapper.findSearch(); PageInfo<UserVo> pageInfo = new PageInfo<>(list); // getTotal获取总条数 pageInfo.getTotal(); // 获取当前页的结果集 pageInfo.getList();
// 方式二:直接将查询结果集合强转为Page对象(findSearch为查询方法) Page<UserVo> search = (Page<UserVo>) userMapper.findSearch(); // getTotal获取总条数 pages.getTotal(); // 获取当前页的结果集 pages.getResult();
将数据返回即可,一般分页查询只需要用到总条数和每页数据,如果需要其他数据可以通过PageInfo或Page对象获取。
注:PageHelper.startPage后只对紧跟其后的第一条查询语句生效,如果想要分页多条查询语句,则需要开启多次分页功能,即多次重复startPage代码。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 HaalandCR
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果