分页插件介绍

1. 分页插件介绍

  • 分页可以将很多条结果进行分页显示

  • 如果当前在第一页,则没有上一页;如果当前在最后一页,则没有下一页

  • 需要明确当前是第几页,这一页中显示多少条结果

  • MyBatis分页插件总结

    • 在企业级开发中,分页也是一种常见的技术,而目前使用的 MyBatis 是不带分页功能的,如果想实现分页的功能,需要我们手动编写 LIMIT 语句。但是不同的数据库实现分页的 SQL 语句也是不同的,所以手写分页成本较高,这个时候就可以借助分页插件来帮助我们实现分页功能

    • PageHelper:第三方分页助手,将复杂的分页操作进行封装,从而让分页功能变得非常简单

2. 分页插件的使用

MyBatis可以使用第三方的插件来对功能进行扩展,分页助手PageHelper是将分页的复杂操作进行封装,使用简单的方式即可获得分页的相关数据

开发步骤:

1.导入与PageHelper的jar包

<!-- com.github.pagehelper/pagehelper -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.2.1</version>
</dependency>
<!-- springboot 项目添加如下依赖starter spring springmvc -->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.3.1</version>
</dependency>

2.在mybatis核心配置文件中配置PageHelper插件

<!-- 注意:分页助手的插件  配置在通用mapper之前 -->
 <!--集成分页助手插件-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>

3.测试分页数据获取

 @Test
        public void pageTest(){

            SqlSession sqlSession = MybatisUtils.getSqlSession(true);
            //获取UserDao接口实现类对象
            UserDao mapper = sqlSession.getMapper(UserDao.class);
            //通过分页助手来实现分页功能
            // 第一页:显示3条数据
            PageHelper.startPage(1,3);
             // 第一页:显示3条数据
          //  PageHelper.startPage(2,3);
            //调用实现类的方法,接收结果
            List<User> all = mapper.findAll();
            for (User user : all) {
                System.out.println(user);
            }
        }

3. 分页插件的参数获取

获得分页相关的其他参数

//其他分页的数据
            PageInfo<User> info=new PageInfo<>(all);

            System.out.println("总条数:" + info.getTotal());
            System.out.println("总页数:"+info.getPages());
            int pageNum = info.getPageNum();//当前页
            System.out.println("当前页:"+pageNum);
            int pageSize = info.getPageSize();//每页显示的条数
            System.out.println("每页显示条数:"+pageSize);
            int prePage = info.getPrePage();//上一页
            System.out.println("上一页:" +prePage);
            int nextPage = info.getNextPage();//下一页
            System.out.println("下一页:" +nextPage);
            boolean isFirstPage = info.isIsFirstPage();//是否是第一页
            System.out.println("是否是第一页:" +isFirstPage);
            boolean isLastPage = info.isIsLastPage();//是否是最后一页
            System.out.println("是否是最后一页:"+isLastPage);
            MybatisUtils.closeSqlSession(sqlSession);

4.  分页插件知识小结

分页:可以将很多条结果进行分页显示。

1.分页插件 jar 包:

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

2.<plugins>:集成插件标签。 

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

分页助手相关 API 1.PageHelper:分页助手功能类

  • startPage():设置分页参数

  • PageInfo:分页相关参数功能类。

  • getTotal():获取总条数

  • getPages():获取总页数

  • getPageNum():获取当前页

  • getPageSize():获取每页显示条数

  • getPrePage():获取上一页

  • getNextPage():获取下一页

  • isIsFirstPage():获取是否是第一页

  • isIsLastPage():获取是否是最后一页

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值