15 分页插件

张创琦 2022.03.13

  1. 引入jar包依赖
  1. <dependency>
  2. <groupId>com.github.pagehelper</groupId>
  3. <artifactId>pagehelper</artifactId>
  4. <version>5.1.10</version>
  5. </dependency>
  1. 在 myBatis 全局配置文件中添加插件配置
  1. <!-- 引入 pageHelper插件 -->
  2. <!--注意这里要写成PageInterceptor, 5.0之前的版本都是写PageHelper, 5.0之后要换成PageInterceptor-->
  3. <plugins>
  4. <plugin interceptor="com.github.pagehelper.PageInterceptor">
  5. <!--reasonable:分页合理化参数,默认值为false,直接根据参数进行查询。
  6. 当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页。方言可以省略,会根据连接数据的参数url自动推断-->
  7. <!--<property name="reasonable" value="true"/>-->
  8. </plugin>
  9. </plugins>
  1. 使用插件
  1. @Test
  2. public void test5() {
  3. // PageHelper.startPage 必须紧邻查询语句,而且只对第一条查询语句生效
  4. PageHelper.startPage(2,5);
  5. List<Team> teams = teamMapper.queryAll(); // 查询语句结尾不能有分号
  6. teams.forEach(team-> System.out.println(team));
  7. PageInfo<Team> info=new PageInfo<>(teams);
  8. System.out.println("分页信息如下:");
  9. System.out.println("当前页:"+info.getPageNum());
  10. System.out.println("总页数:"+info.getPages());
  11. System.out.println("前一页:"+info.getPrePage());
  12. System.out.println("后一页:"+info.getNextPage());
  13. System.out.println("navigatepageNums:"+info.getNavigatepageNums());
  14. for (int num : info.getNavigatepageNums()) {
  15. System.out.println(num);
  16. }
  17. }
  1. 运行结果展示
  1. 分页信息如下:
  2. 当前页:2
  3. 总页数:8
  4. 前一页:1
  5. 后一页:3
  6. navigatepageNums:[I@45752059
  7. 1
  8. 2
  9. 3
  10. 4
  11. 5
  12. 6
  13. 7
  14. 8