SpringBoot集成分页插件PageHelper
程序员文章站
2022-05-25 19:02:09
...
1 引入依赖
#本次测试用的springboot版本为2.1.5.RELEASE,其他版本自测
#
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
</dependency>
2 写代码
public PageInfo findItemByPage(Map<String,Object> queryMap,int currentPage,int pageSize) {
//设置分页信息,分别是当前页数和每页显示的总记录数【记住:必须在mapper接口中的查询方法执行之前设置该分页信息】
PageHelper.startPage(currentPage, pageSize);
//mapper接口中的查询方法执行
List<Item> itemsList = itemMapper.findItem(queryMap);
//PageInfo 是 pagehelper中内值的分页的信息类
PageInfo<Item> info=new PageInfo<>(itemsList);
// 返回值是 PageInfo
return info;
}
3 返回值
#在2中的返回值结构 PageInfo<Employee> info=new PageInfo<>(itemsList);
{
"navigatepageNums":Array[8], //所有导航页号
"startRow":1, //当前页面第一个元素在数据库中的行号
"endRow":3, //当前页面最后一个元素在数据库中的行号
"hasNextPage":true, //是否有下一页
"prePage":0, //前一页
"nextPage":2, //
"pageSize":3, //每页的数量
"list":Array[3], //结果集(每页显示的数据)
"pageNum":1, //当前页
"navigatePages":8, //导航页码数
"navigateFirstPage":1, //
"total":65, //总记录数
"pages":22, //总页数
"size":3, //当前页的数量
"isLastPage":false, //是否为最后一页
"hasPreviousPage":false, //是否有前一页
"navigateLastPage":8, //
"isFirstPage":true //是否第一页
}
4遇到的坑
- 结果集,不分页的问题:很有可能startPage下有两个查询结果集,如下代码;
public PageInfo findItemByPage(Map<String,Object> queryMap,int currentPage,int pageSize) {
//设置分页信息,分别是当前页数和每页显示的总记录数
//【记住:必须在mapper接口中的查询方法执行之前设置该分页信息】
//只对其后的第一个查询有效
PageHelper.startPage(currentPage, pageSize);
List<Item> itemsList = itemMapper.findItem(queryMap); // 执行分页查询
List<Item> itemsList2 = itemMapper.findItem(queryMap); // 不会执行分页查询(即使把itemsList2 加入PageInfo 中也不会出现分页情况)
PageInfo<Item> info=new PageInfo<>(itemsList);
return info;
}
上一篇: ResourceLoader
下一篇: vue项目解决ie浏览器不显示问题
推荐阅读
-
PageHelper插件实现一对多查询时的分页问题
-
SpringBoot+Mybatis+Druid+PageHelper实现多数据源并分页方法
-
Springboot整合pagehelper分页功能
-
Mybatis分页插件PageHelper的配置和简单使用方法(推荐)
-
java使用插件pagehelper在mybatis中实现分页查询
-
SpringBoot项目中分页插件PageHelper无效的问题及解决方法
-
Mybatis分页PageHelper插件代码实例
-
MyBatis 分页插件 PageHelper 使用
-
基于Metronic的Bootstrap开发框架经验总结(18)-- 在代码生成工具Database2Sharp中集成对Bootstrap-table插件的分页及排序支持
-
Springboot集成通用Mapper与Pagehelper,实现mybatis+Druid的多数据源配置