PageHelper踩坑记录

爱必应

PageHelper实现分页比较简单,实现步骤就不写了,网上很多,需要的就百度一下。
这次主要是记录一下踩的坑。
在使用PageHelper时因为知道这个分页方法是和要返回的分页结果紧密相关的,中间不能有其他查询,因此特意将PageHelper.startPage放到要查询表数据的代码之前。
但是还是无法分页,查询表数据的接口返回的startRow竟然是从0开始,而且返回的数据也没按照pageNum和pageSize进行切割,直接全量返回了。
查看代码,发现在查询数据的时候使用了一个for语句,将每次查询到的数据进行拼接后再返回,这样就无法分页了。
发现问题后对代码进行了修改,去掉for循环,直接查数据库分页功能就ok了。
错误代码:
PageHelper.startPage(requestVO.getPageNum(), requestVO.getPageSize());
                                           for(List<String> list : lists) {
                                           detailList = mapper.queryDetail(params);
                                                   detailResult.addAll(detailList);
                                           }   
return new PageInfo<>(detailResult) ;
修正后代码:
PageHelper.startPage(requestVO.getPageNum(), requestVO.getPageSize());
detailList = mapper.queryDetail(params);
return new PageInfo<>(detailList);                                                    

声明:本站所有资源均由网友分享,如有侵权内容,请在文章下方留言,本站会立即处理。

原文链接:,转发请注明来源!

发表评论