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+"\t"); 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 }