说明
分页方式有很多,本文讲解 PageHelper.startPage() 分页方式
在 service中修改,如下:
//设置分页
Page page = PageHelper.startPage(pageNum, pageSize, true);
List list = mapper.query(); // 注意:后面紧跟 MyBatis 查询方法
//将查询结果封装成PageInfo对象,才能将分页信息发送给前端
PageInfo pageInfo = new PageInfo(list,page.getPages());
注意:一句 PageHelper.startPage ,对应一次 mybatis查询,要紧跟着,否则,分页可能会失效,详见 pagehelper 分页失效
PageHelper.startPage 解释
PageHelper.startPage(pageNum, pageSize, true);
参数解释:
- pageNum:当前页数
- pageSize:每页显示记录数
- true:显示总共记录数
返回值: 返回 Page 对象
注意
不能将 Page 对象返回给前端,前端 得不到 分页属性信息,如:分页总数,总共记录数等
PageInfo() 解释
将查询结果封装成 PageInfo 对象,才能将 分页属性信息 发送给前端
PageInfo pageInfo = new PageInfo(list,page.getPages());
参数解释:
- list:查询结果
- 第二个参数:传入总共页数,属性
navigatePages显示该数字
PageInfo 属性
实现方式一(推荐)
有小改动,包含非常全面的分页属性
public PageInfo<Goods> mgrQueryList(String name,String startDate,String endDate,Integer status,int pageNum,int pageSize) throws Exception{
PageHelper.startPage(pageNum, pageSize, true);
//写在PageHelper.startPage下面,才会分页
List list=dao.mgrQueryList(name, startDate, endDate,status);
//用PageInfo对结果进行包装,PageInfo包含非常全面的分页属性
PageInfo<Goods> pageInfo=new PageInfo<Goods>(list);
return pageInfo;
}
注意:不能将 page 对象返回给前端,会得不到 pageNum、pageSize 等信息
实现方式二(不推荐)
有小改动,只有常用的分页属性
public Page<Goods> mgrQueryList(String name,String startDate,String endDate,Integer status,int pageNum,int pageSize) throws Exception{
PageHelper.startPage(pageNum, pageSize, true);
//写在PageHelper.startPage下面,才会分页
List list=dao.mgrQueryList(name, startDate, endDate,status);
return (Page) list;//只有常用的分页属性
}
注意:不能将 page 对象返回给前端,会得不到 pageNum、pageSize 等信息