1.分页不生效,或者分页结果具有偶先型 原因:PageHelper.startPage((Integer)reqBody1.get("pageNum") == 0 ? 1 : (Integer)reqBody1.get("pageNum") , (Integer) reqBody1.get("pageSize") == 0 ? 10 : (Integer) reqBody1.get("pageSize")); startPage语句必须在查询语句之前。 解决方式:将startPage语句放到查询语句之前。 2.分页结果返回总数与查询到的总数不一致 *原因:*一个方法只能有一条查询语句,且PageInfo对象和查询语句之间不能有任何操作。 如果要封装返回值处理方式:
List<Object> log = logAuditService.getLog(reqBody1);
PageInfo<Object> pageInfo = new PageInfo<>(log);
List<Object> resultLogs = new ArrayList<>();
for (Object test: pageInfo.getList()) {
}
总结:
pagehelper分页组件在使用的时候有很多规范,必须按照既定顺序去完成,否则会导致结果不一致。 supportMethodsArguments不要配置全局分页,会有很大的坑。
|