1)引入jar包 jsqlparser-2.0.jar和pagehelper-5.1.10.jar(两jar包需匹配使用)
2)在配置文件中添加,拦截器插件(复制官网),注意顺序
<!--
plugins在配置文件中的位置必须符合要求,否则会报错,顺序如下:
properties?, settings?,
typeAliases?, typeHandlers?,
objectFactory?,objectWrapperFactory?,
plugins?,
environments?, databaseIdProvider?, mappers?
-->
1 <plugins> 2 <!-- com.github.pagehelper为PageHelper类所在包名 --> 3 <plugin interceptor="com.github.pagehelper.PageInterceptor"> 4 <!-- 使用下面的方式配置参数,后面会有所有的参数介绍 --> 5 <!-- <property name="param1" value="value1"/> --> 6 </plugin> 7 </plugins>
测试:
1 @Test 2 void testselectall() { 3 //1.使用PageHelper类设置起始页和每页显示的条数 4 int pageNum=5;//当前页码 从网页中可以获取 5 int pageSize=3;//pageSize:自定义 6 PageHelper.startPage(pageNum,pageSize); 7 //2调用查询所有的方法 8 List<User> list=userMapper.selectall(); 9 for (User user : list) { 10 System.out.println(user); 11 } 12 //3.把查询的结果封装到Pageinfo中 13 PageInfo<User> pageinfo=new PageInfo<>(list,4); 14 System.out.println("上一页:"+pageinfo.getPrePage()); 15 System.out.println("当前页:"+pageinfo.getPageNum()); 16 System.out.println("下一页:"+pageinfo.getNextPage()); 17 System.out.println("总页数:"+pageinfo.getPages()); 18 int[] navigatepageNums = pageinfo.getNavigatepageNums(); 19 for (int i : navigatepageNums) { 20 System.out.print(i+" "); 21 } 22 }
*直接输出pageinfo查询到的结果
1 PageInfo{ 2 pageNum=1, //当前页 3 pageSize=2,//每页显示的条数 4 size=2,//该页条数 5 startRow=1,//从第几条开始 6 endRow=2, //到第几条结束 7 total=5, //总共有多少条 8 pages=3,//总共的页数 9 list=Page{count=true, pageNum=1, pageSize=2, startRow=0, endRow=2, total=5, pages=3, reasonable=false, pageSizeZero=false} 10 [com.zhiyou.clg.bean.User@52bf72b5, com.zhiyou.clg.bean.User@37afeb11], //当前页的数据 11 prePage=0, //上一页 12 nextPage=2, //下一页 13 isFirstPage=true,//是否为第一页 14 isLastPage=false, hasPreviousPage=false, hasNextPage=true, 15 navigatePages=8,//每页显示的页码个数 16 navigateFirstPage=1, 17 navigateLastPage=3, 18 navigatepageNums=[1, 2, 3]//页码的个数 19 }