分页助手(pagehelper)

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 }

 

posted @ 2019-09-01 16:37  清风竹影丶  阅读(16914)  评论(4编辑  收藏  举报