正常使用PageHelper来分页时可以的,但是如果在查询list后做了非常多的处理,即解包在装包操作。可能最后返回时分页的数据查询的对,但是分页信息就有问题了。有的甚至分页功能都不行。这里为避免几个坑,有些规则遵守还是有必要的。
1.首先将下面这句代码放在第一行。
PageHelper.startPage(pageNum, pageSize);
2.查询出list后,通过下面语句获取总条数。这个不是这一页的总条数,而是不分页情况下查询的总条数。
PageInfo<实体类> pageInfo = new PageInfo(实体类对应的集合);
int total = (int)pageInfo.getTotal();
3.在代码的最后做如下处理
CommonPage<StandardLessonInfo> orderCommonPage = CommonPage.restPage(lessonInfoList);
orderCommonPage.setList(lessonInfoList);
orderCommonPage.setPageNum(pageNum);
orderCommonPage.setPageSize(pageSize);
orderCommonPage.setTotalPage((total + pageSize - 1) / pageSize);
orderCommonPage.setTotal(pageInfo.getTotal());
return CommonResult.success(orderCommonPage);
下面是具体的demo。
public CommonResult<CommonPage