前言
本篇文章只讲解怎么使用,不涉及原理和源码。
详解
- 在 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对象获取,将查询结果集合传入 List<UserVo> list = userMapper.findSearch(strings); PageInfo<UserVo> pageInfo = new PageInfo<>(list); // getTotal获取总条数 pageInfo.getTotal(); // 获取当前页的结果集 pageInfo.getList();
// 方式二:直接将查询结果集合强转为Page对象 Page<UserVo> search = (Page<UserVo>) userMapper.findSearch(strings); // getTotal获取总条数 pages.getTotal(); // 获取当前页的结果集 pages.getResult();
- 将数据返回即可,一般分页查询只需要用到总条数和每页数据,如果需要其他数据可以通过 PageInfo 或 Page 对象获取。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于