目录
limit index,pageSize
pageSize:每页显示的条数
pageNum:当前页的页码
index:当前页的起始索引,index=(pageNum-1)*pageSize
count:总记录数
totalPage:总页数
totalPage = count / pageSize;
if(count % pageSize != 0){
totalPage += 1;
}
pageSize=4,pageNum=1,index=0 limit 0,4
pageSize=4,pageNum=3,index=8 limit 8,4
pageSize=4,pageNum=6,index=20 limit 20,4
导航分页:
首页 上一页 2 3 4 5 6 下一页 末页
分页插件的使用
添加依赖
pom.xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.3.2</version>
</dependency>
配置分页插件
mybatis-config.xml
<plugins>
<!--设置分页插件-->
<plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
创建测试程序TestPage.java
@Test
public void testPage1(){
SqlSession sqlSession = SqlSessionUtil.getSqlSession();
EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);
// 分页查询
// 开启分页功能
PageHelper.startPage(1,3);
List<Emp> list_emp = empMapper.getAllEmp();
list_emp.forEach(System.out::println);
sqlSession.close();
}
分析查询结果,打印page试试
@Test
public void testPage2(){
SqlSession sqlSession = SqlSessionUtil.getSqlSession();
EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);
Page<Emp> page = PageHelper.startPage(1,3);
List<Emp> list_emp = empMapper.getAllEmp();
list_emp.forEach(System.out::println);
System.out.println(page);
sqlSession.close();
}
在查询获取list集合之后,使用PageInfo pageInfo = new PageInfo<>(List list, int navigatePages)获取分页相关数据。
@Test
public void testPage3(){
SqlSession sqlSession = SqlSessionUtil.getSqlSession();
EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);
Page<Emp> page = PageHelper.startPage(1,3);
List<Emp> list_emp = empMapper.getAllEmp();
// list后开启分页功能
// navigatePages:导航分页的个数,比如设置4,导航分页就是2,3,4,5
// 比如设置5,导航分页是2,3,4,5,6
PageInfo<Emp> pageInfo = new PageInfo<>(list_emp, 5);
list_emp.forEach(System.out::println);
System.out.println(pageInfo);
sqlSession.close();
}
PageInfo{pageNum=1, pageSize=3, size=3, startRow=1, endRow=3, total=7, pages=3, list=Page{count=true, pageNum=1, pageSize=3, startRow=0, endRow=3, total=7, pages=3, reasonable=false, pageSizeZero=false}[Emp{empId=1, empName='张三', age=20, gender='男', deptId=1,dept=null}, Emp{empId=2, empName='李四', age=21, gender='女', deptId=2,dept=null}, Emp{empId=3, empName='王五', age=23, gender='男', deptId=3,dept=null}], prePage=0, nextPage=2, isFirstPage=true, isLastPage=false, hasPreviousPage=false, hasNextPage=true, navigatePages=5, navigateFirstPage=1, navigateLastPage=3, navigatepageNums=[1, 2, 3]}