pagehelper 分页实现-PageHelper.startPage方式 作者:马育民 • 2022-02-24 21:58 • 阅读:10340 # 说明 分页方式有很多,本文讲解 `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 分页失效](https://www.malaoshi.top/show_1IX2q3oAR0P7.html "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 属性 详见 [pagehelper PageInfo属性解释](https://www.malaoshi.top/show_1IX2q2uqAdEY.html "pagehelper PageInfo属性解释") # 实现方式一(推荐) **有小改动**,包含非常全面的分页属性 ``` public PageInfo 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 pageInfo=new PageInfo(list); return pageInfo; } ``` **注意:**不能将 `page` 对象返回给前端,会得不到 `pageNum`、`pageSize` 等信息 # 实现方式二(不推荐) **有小改动**,只有常用的分页属性 ``` public Page 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` 等信息 原文出处:http://malaoshi.top/show_1IX2q3r52GIC.html