本文主要是介绍若依分页失败,由于对数据二次处理导致total只有十条,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在使用若依框架的过程中,如果是查询结果数据直接返回,那么其自带的分页插件可以正常返回数据以及总条数,但若是对数据进行了其他二次处理,再返回就会出现异常,即无论查询了多少条,total都只会显示10,导致列表分页失效,页面只能显示十条数据
原因:
分页工具只能在数据查询出来不做任何处理的情况下使用,因为这个时候列表的总数是固定的,分页的参数可控。若依生成的代码就是遵循这个规范没有问题,而在开发时涉及到业务处理后还想要分页展示就出问题了
这里总结了一个最简单的办法,直接在controller改一下即可:
将业务代码前面的startPage(); 和返回的return getDataTable(list);分别改动成下面的代码即可
代码:
@Anonymous@GetMapping("/allCollect")public TableDataInfo allCollect(@RequestParam(value = "userId",required = false) String userId){PageDomain pageDomain = TableSupport.buildPageRequest();Integer pageNum = pageDomain.getPageNum();Integer pageSize = pageDomain.getPageSize();//业务查询所有符合条件的实体类List<EnterpriseMsgs> list = tEnterpriseMsgsService.allCollect(userId);//处理上面查询的list集合int num = list.size();list = list.stream().skip((pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());TableDataInfo rspData = new TableDataInfo();rspData.setCode(HttpStatus.SUCCESS);rspData.setRows(list);rspData.setTotal(num);return rspData;}
这篇关于若依分页失败,由于对数据二次处理导致total只有十条的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!