1.引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.3.1</version>
</dependency>
2.在mybatis-config.xml⽂件中配置插件
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
3.使用方法
在查询之前开启分页功能,使用指定方法即可
方法:PageHelper.startPage(m,n) m表示第几页,n表示每页包含几条
测试案例
数据库中数据
java测试代码
@Test
public void selectDeptPage(){
SqlSession sqlSession = SqlSessionUtil.openSession();
DeptMapper mapper = sqlSession.getMapper(DeptMapper.class);
PageHelper.startPage(1,3);//查询第一页,一共三条
List<Dept> depts = mapper.selectByExample(null);
for (Dept dept : depts)
System.out.println(dept);
sqlSession.close();
}
运行结果
以上是该插件的基本功能,但该插件的主要功能是分装一个pageinfo对象,该对象的参数有下面这些
//当前页
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<T> list;
//第一页
private int firstPage;
//前一页
private int prePage;
//是否为第一页
private boolean isFirstPage = false;
//是否为最后一页
private boolean isLastPage = false;
//是否有前一页
private boolean hasPreviousPage = false;
//是否有下一页
private boolean hasNextPage = false;
//导航页码数
private int navigatePages;
//导航页第一页
private int navigateFirstPage;
//导航页第二页
private int navigateLastPage;
//所有导航页号
private int[] navigatepageNums;
在查询语句之后封装,将来会存到request,在前端页面实现相应功能。