1. Mybatis的分页助手(pageHelper):
- 引入相关jar.
1. 加入pagehelper的插件(mybatis配置文件中 conf.xml)
1 <plugins> 2 <!-- com.github.pagehelper为PageHelper类所在包名 --> 3 <plugin interceptor="com.github.pagehelper.PageInterceptor"> 4 <!-- 使用下面的方式配置参数,后面会有所有的参数介绍 --> 5 </plugin> 6 </plugins>
4.测试
1 @Test 2 public void testSelectByPage() { 3 //1.使用PageHelper类设置起始页和每页显示的条数 4 int pageNum=1;//当前的页码 从网页中可以获取。 5 int pageSize=3;//页码的大小 自定义 6 PageHelper.startPage(pageNum,pageSize); 7 //2.调用所有的方法 8 List<Users> list = usersMapper.selectAll(); 9 10 //把查询的结果集封装到pageInfo对象中 11 PageInfo<Users> pageinfo=new PageInfo<>(list); 12 pageinfo.setNavigatePages(6);//每页显示的页码个数6个 13 System.out.println("总页码:"+pageinfo.getPages()); 14 System.out.println("当前页:"+pageinfo.getPageNum()); 15 System.out.println("上一页:"+pageinfo.getPrePage()); 16 int[] pages = pageinfo.getNavigatepageNums(); 17 for(int p:pages) { 18 System.out.println(p+" "); 19 } 20 System.out.println("下一页:"+pageinfo.getNextPage()); 21 22 List<Users> users= pageinfo.getList(); 23 for(Users users2 : users) { 24 System.out.println(users2); 25 } 26 }
5.分页助手的名称解释
1 PageInfo{ 2 pageNum=1, //当前页码数 3 pageSize=3, //每页显示的条数 4 size=3, //改页的条数 5 startRow=1, //从第几条开始 6 endRow=3, //到第几条结束 7 total=16, //总共有多少条 8 pages=6, //总共的页数 9 list=Page{count=true, pageNum=1, pageSize=3, startRow=0, endRow=3, total=16, pages=6, reasonable=false, pageSizeZero=false} 10 [com.zhiyou100.wc.bean.Users@52bf72b5, com.zhiyou100.wc.bean.Users@37afeb11, com.zhiyou100.wc.bean.Users@515aebb0], //当前页的数据 11 prePage=0, //上一页 12 nextPage=2, //下一页 13 isFirstPage=true, //是否为第一页 14 isLastPage=false, //是否为最后一页 15 hasPreviousPage=false, 16 hasNextPage=true, 17 navigatePages=8, //每一页显示的页码个数 18 navigateFirstPage=1, // 19 navigateLastPage=6, 20 navigatepageNums=[1, 2, 3, 4, 5, 6]//页码的数 21 }