通过分页插件获取分页的相关数据
- 在查询获取list集合之后,使用PageInfo<T> pageInfo = new PageInfo<>(List<T> list, int navigatePages)获取分页相关所有数据
list:分页之后的数据navigatePages:导航分页的页码数
测试
public class PageTest {
@Test
public void testPage(){
SqlSession sqlSession = SqlSessionUtil.getSqlSession();
EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
//查询功能之前开启分页功能
Page<Object> page = PageHelper.startPage(1, 4);
List<Emp> list = mapper.selectByExample(null);
list.forEach(System.out::println);
//只能获取分页相关的部分数据
System.out.println(page);
}
}
public class PageTest {
@Test
public void testPage(){
SqlSession sqlSession = SqlSessionUtil.getSqlSession();
EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);
//查询功能之前开启分页功能
Page<Object> page = PageHelper.startPage(1, 4);
List<Emp> list = mapper.selectByExample(null);
//查询功能之后可以获取分页相关的所有数据
//navigatePage:导航分页的页码数
PageInfo<Emp> pageInfo = new PageInfo<>(list,5);
list.forEach(System.out::println);
//获取分页相关的所有数据
System.out.println(pageInfo);
}
}
分页的相关数据的解析
PageInfo{
pageNum=1, pageSize=4, size=4,
startRow=1, endRow=4, total=30, pages=8,
list=Page{count=true, pageNum=1, pageSize=4, startRow=0, endRow=4, total=30, pages=8, reasonable=false, pageSizeZero=false}[Emp{empId=1, empName='a', age=null, gender='null', deptId=null}, Emp{empId=2, empName='a', age=null, gender='null', deptId=null}, Emp{empId=3, empName='a', age=null, gender='null', deptId=null}, Emp{empId=4, empName='a', age=null, gender='null', deptId=null}],
prePage=0, nextPage=2, isFirstPage=true,
isLastPage=false, hasPreviousPage=false,
hasNextPage=true, navigatePages=5,
navigateFirstPage=1, navigateLastPage=5, navigatepageNums=[1, 2, 3, 4, 5]}
pageNum:当前页的页码pageSize :每页显示的条数size :当前页显示的真实条数total :总记录数pages :总页数prePage :上一页的页码nextPage :下一页的页码isFirstPage/isLastPage :是否为第一页 / 最后一页hasPreviousPage/hasNextPage :是否存在上一页 / 下一页navigatePages :导航分页的页码数navigatepageNums :导航分页的页码, [1,2,3,4,5]