mybatis分页插件pagehelper的使用

一、环境配置

1、引入依赖

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.1.2</version>
        </dependency>

2、mybatis核心配置文件中配置插件

    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>

二、测试

        InputStream is = Resources.getResourceAsStream("mybatis-config06.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
        SqlSession sqlSession = factory.openSession();
        UserMapper um = sqlSession.getMapper(UserMapper.class);
        //先使用PageHelper.startPage(1, 5);开启分页查询的功能
        PageHelper.startPage(2, 5);
        List<User> users = um.selectAll();
        for (User user : users) {
            System.out.println(user.toString());
        }
        /*
            PageInfo可以获取更加详细的分页信息
            需要传入查询出来的结果(users)和导航分页(navigatePages)的数量
         */
        PageInfo<User> pageInfo = new PageInfo<User>(users,3);
        System.out.println(pageInfo);

在这里插入图片描述
pageNum:当前页码、pageSize:每页展示几条数据、size:当前页真正展示了多少条数据、pages:总页数、prePage:上一页的页码、nextPage:下一页的页码、isFirstPage:是不是首页、 isLastPage:是不是尾页、navigatePages:导航分页的数量
注意:

PageHelper.startPage(2, 5);//必须写在执行查询的方法之前,从第二页开始,查询5条数据

PageInfo介绍:封装了更为详细的分页信息

/*
	list:查询出来的数据,也就是上面的集合users
	navigatePages:导航分页的数量(这个值不建议写偶数,因为导航分页会不对称)
*/
PageInfo<User> pageInfo = new PageInfo<User>(list,navigatePages);

导航分页(navigatePages)介绍:假设一共有20个页码,页面一次展示5个页面
百度的一次展示了10个页码
在这里插入图片描述
以当前页码为准,从减2开始,加2结束(保证页面展示5个页码)
假设当前在第3页(开始页:3-2=1,结束页3+2=5)
在这里插入图片描述
假设当前在第4页(开始页:4-2=2,结束页4+2=6)
在这里插入图片描述
注意:一共20个页码,每次展示5个页码。
如果当前在第1页或者第2页,那么页面的页码就是固定的: 1、2、3、4、5
如果当前在第19页或20页,那么页面的页码就固定在16、17、18、19、20

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值