项目使用mybatisplus+若依框架,使用若依的分页,其他地方都没问题,唯独这个接口永远返回只有一页,也就是total永远等于pageSize 代码如下
在这里插入图片描述
最终排查出原因,是因为对查询出的结果集做了二次操作,转成了voList.
进一步了解之后发现,pageHelper的分页,查出来的虽然是list集合,但是他实际是隐藏带了其他分页信息的,通过后续创建分页对象的代码new PageInfo 来获取他list中的total.如果做了二次操作进行转换,这一步的total就会丢失,导致total变为size
在这里插入图片描述
最后的解决方案,把原本返回list然后在controller层进行getDataTable的操作,直接放到service层中,返回封装好的分页对象.代码如下:
在这里插入图片描述
最后的最后,为什么不直接使用mybatisplus自带的page()方法呢?简单好用,又没有pageHelper的那么多坑,真的是不能理解.

Logo

快速构建 Web 应用程序

更多推荐