mybatis分页插件PageHelp的使用

1.简介

​ PageHelper 是国内非常优秀的一款开源的 mybatis 分页插件,它支持基本主流与常用的数据库,例如 mysql、oracle、mariaDB、DB2、SQLite、Hsqldb 等。需要注意的是,该插件是mybatis的插件,无法使用到其他的持久层框架上。下面附上官网地址

网址:https://pagehelper.github.io/

2.使用步骤

2.1 导入依赖


   com.github.pagehelper
   pagehelper
   1.2.3
 

2.2 在mybatis的配置文件中添加配置


    
        
        
        
            
                
                    
                        
                        
                            params=mysql
                        
                    
                
            
        
    

解析:
mybatis分页插件PageHelp的使用_第1张图片

其中红色部分为pagehelp插件的配置,蓝色方框部分根据你的数据库的类型进行配置,我这里使用了mysql。所以配置了params=mysql

2.3 在代码中使用

使用PageHelper.startPage 静态方法调用

// PageInfo等同于我们自定义的pageBean 并且比pageBean更完善
public PageInfo findByPage(Integer page, Integer pageSize) {
   PageHelper.startPage(page,pageSize);  //使用分页插件 一定要紧跟一个查询方法
   List list = userDao.findAll(); //表面上是查询所有,但是执行时已经分页了
   return new PageInfo(list,5);
}

解析

mybatis分页插件PageHelp的使用_第2张图片

2.4 PageInfo对象介绍

使用该插件返回的是PageInfo对象,下面我们对其中的属性进行分析:

public class PageInfo implements Serializable {
   private static final long serialVersionUID = 1L;
   //当前页
   private int pageNum;
   //每页的数量
   private int pageSize;
   //当前页的数量
   private int size;
 
   //由于startRow和endRow不常用,这里说个具体的用法
   //可以在页面中"显示startRow到endRow 共size条数据"
 
   //当前页面第一个元素在数据库中的行号
   private int startRow;
   //当前页面最后一个元素在数据库中的行号
   private int endRow;
   //总记录数
   private long total;
   //总页数
   private int pages;
   //结果集
   private List list;
 
   //前一页
   private int prePage;
   //下一页
   private int nextPage;
 
   //是否为第一页
   private boolean isFirstPage = false;
   //是否为最后一页
   private boolean isLastPage = false;
   //是否有前一页
   private boolean hasPreviousPage = false;
   //是否有下一页
   private boolean hasNextPage = false;
   //导航页码数
   private int navigatePages;
   //所有导航页号
   private int[] navigatepageNums;
   //导航条上的第一页
   private int navigateFirstPage;
   //导航条上的最后一页
   private int navigateLastPage;

}

你可能感兴趣的:(mybatis分页插件PageHelp的使用)