解决PageHelper在重新封装List之后分页失效的问题

发布时间 2023-05-08 10:38:30作者: JoeyBoy

问题描述:

  前端传入PageNum与PageSize到后端,后端根据参数查询出List并封装分页数据,传回前端,展示分页。

  问题在于,如果对查询出来的List进行了重新封装的操作,那么分页将会失效。

查看PageInfo.class源码:

问题发生的原因:

  PageHelper中的startPage只对后一个查询语句有效,因此你查询了多少条,后面就封装多少条返回,但是分页数据是没有返回到的。

解决:(手动分页)

隐藏问题:

  PageHelper.startPage(page, pageSize);
  数据返回没有问题,但是这个语句设置的分页缓存数据没有清除会被下一个SQL使用到,导致系统的查询SQL会出现分页情况。出现各种奇奇怪怪的问题。

解决:

  在return之前,执行一次 PageHelper.clearPage();

效果: