MyBatis使用PageHelper实现分页查询

不念不忘少年蓝@ 2023-10-01 20:42 162阅读 0赞
  1. 添加依赖


    com.github.pagehelper
    pagehelper
    5.2.0
  2. 配置分页插件

在MyBatis的核心配置文件中配置插件

  1. <plugins>
  2. <!--设置分页插件-->
  3. <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
  4. </plugins>
  1. 分页插件的使用

在查询功能之前使用PageHelper.startPage(int pageNum, int pageSize)开启分页功能

pageNum:当前页的页码
pageSize:每页显示的条数

在查询获取list集合之后,使用PageInfo pageInfo = new PageInfo<>(List list, int
navigatePages)获取分页相关数据

list:分页之后的数据
navigatePages:导航分页显示的页码数(一般为奇数)

分页相关数据

PageInfo{
pageNum=8, pageSize=4, size=2, startRow=29, endRow=30, total=30, pages=8,
list=Page{count=true, pageNum=8, pageSize=4, startRow=28, endRow=32, total=30,
pages=8, reasonable=false, pageSizeZero=false},
prePage=7, nextPage=0, isFirstPage=false, isLastPage=true, hasPreviousPage=true,
hasNextPage=false, navigatePages=5, navigateFirstPage4, navigateLastPage8,
navigatepageNums=[4, 5, 6, 7, 8]
}

常用数据:
pageNum:当前页的页码
pageSize:每页显示的条数
size:当前页显示的真实条数
total:总记录数
pages:总页数
prePage:上一页的页码
nextPage:下一页的页码
isFirstPage/isLastPage:是否为第一页/最后一页
hasPreviousPage/hasNextPage:是否存在上一页/下一页
navigatePages:导航分页的页码数
navigatepageNums:导航分页的页码,[1,2,3,4,5]

测试代码

  1. @Test
  2. public void testMBG(){
  3. SqlSession sqlSession = SqlSessionUtils.getSqlSession();
  4. EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
  5. EmpExample empExample = new EmpExample();
  6. PageHelper.startPage(2,2);
  7. List<Emp> list = mapper.selectByExample(empExample);
  8. PageInfo<Emp> pageInfo = new PageInfo<Emp>(list,5);
  9. System.out.println(pageInfo);
  10. }

发表评论

表情:
评论列表 (有 0 条评论,162人围观)

还没有评论,来说两句吧...

相关阅读