1.PageHelper.startPage () 必须加在执行查询sql语句方法之前。如若不然,会导致数据库查询时,分页失效。
2.return返回的对象,必须是startPage()的下一行代码返回的对象。如若不然,会导致返回的结果,丢失当前页,总页数,总条数等数据。
3.若使用mysql版本高于5.6,或postgresql是高版本,且排序字段不唯一,分页时则会出现重复数据。文章来源:https://www.toymoban.com/news/detail-587552.html
针对问题三建议解决方案为:在排序时,添加唯一排序字段,并重写若依的startPage()方法,改为如下代码。其中,userId唯一。文章来源地址https://www.toymoban.com/news/detail-587552.html
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy())+","+SqlUtil.escapeOrderBySql("userId");
Boolean reasonable = pageDomain.getReasonable();
PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable);
到了这里,关于若依框架中,startPage()失效原因的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!