问题描述:
前端传入PageNum与PageSize到后端,后端根据参数查询出List并封装分页数据,传回前端,展示分页。
问题在于,如果对查询出来的List进行了重新封装的操作,那么分页将会失效。
查看PageInfo.class源码:
问题发生的原因:
PageHelper中的startPage只对后一个查询语句有效,因此你查询了多少条,后面就封装多少条返回,但是分页数据是没有返回到的。
解决:(手动分页)
隐藏问题:
PageHelper.startPage(page, pageSize);
数据返回没有问题,但是这个语句设置的分页缓存数据没有清除会被下一个SQL使用到,导致系统的查询SQL会出现分页情况。出现各种奇奇怪怪的问题。
解决:
在return之前,执行一次 PageHelper.clearPage();
效果: