分页插件

3.1 分页插件介绍

分页插件 - 图1

  • 分页可以将很多条结果进行分页显示。
  • 如果当前在第一页,则没有上一页。如果当前在最后一页,则没有下一页。
  • 需要明确当前是第几页,这一页中显示多少条结果。
  • MyBatis分页插件总结

    1. 在企业级开发中,分页也是一种常见的技术。而目前使用的 MyBatis 是不带分页功能的,如果想实现分页的 功能,需要我们手动编写 LIMIT 语句。但是不同的数据库实现分页的 SQL 语句也是不同的,所以手写分页 成本较高。这个时候就可以借助分页插件来帮助我们实现分页功能。
    2. PageHelper:第三方分页助手。将复杂的分页操作进行封装,从而让分页功能变得非常简单。

      3.2 分页插件的使用

      MyBatis可以使用第三方的插件来对功能进行扩展,分页助手PageHelper是将分页的复杂操作进行封装,使用简单的方式即可获得分页的相关数据
      开发步骤:
      ①导入与PageHelper的jar包
      ②在mybatis核心配置文件中配置PageHelper插件
      1. <!-- 注意:分页助手的插件 配置在通用mapper之前 -->
      2. <plugin interceptor="com.github.pagehelper.PageHelper">
      3. <!-- 指定方言 -->
      4. <property name="dialect" value="mysql"/>
      5. </plugin>
      ③测试分页数据获取
      1. @Test
      2. public void testPageHelper(){
      3. //设置分页参数
      4. PageHelper.startPage(1,2);
      5. List<User> select = userMapper2.select(null);
      6. for(User user : select){
      7. System.out.println(user);
      8. }
      9. }

      3.3 分页插件的参数获取

      获得分页相关的其他参数
      //其他分页的数据
      PageInfo<User> pageInfo = new PageInfo<User>(select);
      System.out.println("总条数:"+pageInfo.getTotal());
      System.out.println("总页数:"+pageInfo.getPages());
      System.out.println("当前页:"+pageInfo.getPageNum());
      System.out.println("每页显示长度:"+pageInfo.getPageSize());
      System.out.println("是否第一页:"+pageInfo.isIsFirstPage());
      System.out.println("是否最后一页:"+pageInfo.isIsLastPage());
      

      3.4 分页插件知识小结

      分页:可以将很多条结果进行分页显示。
  • 分页插件 jar 包: pagehelper-5.1.10.jar jsqlparser-3.1.jar

  • :集成插件标签。
  • 分页助手相关 API 1.PageHelper:分页助手功能类。
    1. startPage():设置分页参数
    2. PageInfo:分页相关参数功能类。
    3. getTotal():获取总条数
    4. getPages():获取总页数
    5. getPageNum():获取当前页
    6. getPageSize():获取每页显示条数
    7. getPrePage():获取上一页
    8. getNextPage():获取下一页
    9. isIsFirstPage():获取是否是第一页
    10. isIsLastPage():获取是否是最后一页