PageHelper插件使用

打印 上一主题 下一主题

主题 863|帖子 863|积分 2589

1.pom.xml引入依赖
  1. <dependency>
  2.     <groupId>com.github.pagehelper</groupId>
  3.     <artifactId>pagehelper</artifactId>
  4.     <version>5.1.11</version>
  5. </dependency>
复制代码
2.mybatis-config.xml配置分页插件

在 MyBatis 的配置文件中添加 PageHelper 的插件:
  1. <plugins>
  2.     <plugin interceptor="com.github.pagehelper.PageInterceptor">
  3.         <property name="helperDialect" value="mysql"/>
  4.     </plugin>
  5. </plugins>
复制代码
注意:
com.github.pagehelper.PageInterceptor 是 PageHelper 插件的名称,helperDialect 属性用于指定数据库类型(支持多种数据库)
3.分页插件使用

在查询方法中使用分页:
  1. @Test
  2. @Test
  3. public void testPage(){
  4.     SqlSession sqlSession = sqlSessionUtil.getSqlSession();
  5.     EmpMapper mapper = sqlSession.getMapper( EmpMapper.class);
  6.     //TODO:注意不能将两条及以上查询语句加到分页区
  7.     //查诲功能之前开启分页功能
  8.     Page<object> page = PageHelper.startPage( pageNum: 1,pageSize: 4);
  9.     List<Emp> list = mapper.selectByExample(nu1l);
  10.     //查询功能之后可以获取分页相关的所有数据
  11.     PageInfo<Emp> pageInfo = new PageInfo<>(list, navigatePages: 5);
  12.     list.forEach(System.out::println);
  13.     System.out.println("总记录数:" + pageInfo.getTotal());
  14.     System.out.println("总页数:" + pageInfo.getPages());
  15.     System.out.println("当前页码:" + pageInfo.getPageNum());
  16.     System.out.println("每页显示的记录数:" + pageInfo.getPageSize());
  17.     System.out.println(pageInfo);
  18. }
复制代码
4.分页相关数据描述
  1. PageInfo{
  2. pageNum=8, pageSize=4, size=2, startRow=29, endRow=30, total=30, pages=8,
  3. list=Page{count=true, pageNum=8, pageSize=4, startRow=28, endRow=32, total=30,pages=8, reasonable=false, pageSizeZero=false},
  4. prePage=7,  上一页
  5. nextPage=0,  下一页
  6. isFirstPage=false,  是否是第一页
  7. isLastPage=true,  是否是最后一页
  8. hasPreviousPage=true,  是否有上一页
  9. hasNextPage=false,  是否有下一页
  10. navigatePages=5,   导航分页的页码数
  11. navigateFirstPage=4,  导航分页的首位页码
  12. navigateLastPage=8,   导航分页的末尾页码
  13. navigatepageNums=[4, 5, 6, 7, 8]  导航分页的页码
  14. }
  15. 常用数据:
  16. pageNum:当前页的页码
  17. pageSize:每页显示的条数
  18. size:当前页显示的真实条数
  19. total:总记录数
  20. pages:总页数
  21. prePage:上一页的页码
  22. nextPage:下一页的页码
  23. isFirstPage/isLastPage:是否为第一页/最后一页
  24. hasPreviousPage/hasNextPage:是否存在上一页/下一页
  25. navigatePages:导航分页的页码数
  26. navigatepageNums:导航分页的页码,[1,2,3,4,5]
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊落一身雪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表