Mybatis pageHandle分页

Mybatis pageHandler分页

如果每次查询的数据量过大,我们可以使用分页:

一、引入分页的依赖

<!-- mybatis的分页插件 -->
<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper</artifactId>
  <version>5.1.10</version>
</dependency>

二、引入插件

<plugins>
  <plugin interceptor="com.github.pagehelper.PageInterceptor"/>
  <plugin interceptor="com.github.pagehelper.QueryInterceptor"/>
</plugins>
....
<environments>
</environments>
@Test
public void testPageList() throws IOException {
  SqlSessionFactory sqlSessionFactory = MybatisUtil.getSqlSession("mybatis-config.xml");
  //创建一个SqlSession实例
  SqlSession sqlSession = sqlSessionFactory.openSession(true);
  CacheMapper mapper1 = sqlSession.getMapper(CacheMapper.class);

  //实现分页,1代表第几页,5代表显示几条记录
  PageHelper.startPage(1,2);

  List<Employee> allEmps = mapper1.getAllEmps();

  //pageInfo,T的类型必须与上面list的类型保持一致,整个pageInfo中包含了所有的分页信息,可以返回给前端进行调用
  /**
         * PageInfo{pageNum=1, pageSize=2, size=2, startRow=1, endRow=2, total=11, pages=6,
         * list=Page{count=true, pageNum=1, pageSize=2, startRow=0, endRow=2, total=11, pages=6, reasonable=false, pageSizeZero=false}
         * [Employee{empId=1004, name='迈克尔', gender=2, age=18, dept=Department{dId=1089, dName='开发部', employeeList=null}},
         * Employee{empId=1017, name='BITEMAN', gender=38, age=1, dept=Department{dId=1089, dName='开发部', employeeList=null}}],
         * prePage=0, nextPage=2, isFirstPage=true, isLastPage=false, hasPreviousPage=false, hasNextPage=true, navigatePages=8,
         * navigateFirstPage=1, navigateLastPage=6, navigatepageNums=[1, 2, 3, 4, 5, 6]}
         */
  PageInfo<Employee> pageInfo = new PageInfo<Employee>(allEmps,4);
  System.out.println(pageInfo.getPages()); //获取分页总数

  for (Employee allEmp : allEmps) {
    System.out.println(allEmp);
  }
  
  MybatisUtil.closeSession(sqlSession);
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值