若依分页失败,由于对数据二次处理导致total只有十条

在使用若依框架的过程中,如果是查询结果数据直接返回,那么其自带的分页插件可以正常返回数据以及总条数,但若是对数据进行了其他二次处理,再返回就会出现异常,即无论查询了多少条, total都只会显示10导致列表分页失效,页面只能显示十条数据

原因:

分页工具只能在数据查询出来不做任何处理的情况下使用,因为这个时候列表的总数是固定的,分页的参数可控。若依生成的代码就是遵循这个规范没有问题,而在开发时涉及到业务处理后还想要分页展示就出问题了

这里总结了一个最简单的办法,直接在controller改一下即可:

将业务代码前面的startPage(); 和返回的return getDataTable(list);分别改动成下面的代码即可

代码:

java 复制代码
 @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;
    }
相关推荐
学习使得吾快乐11 分钟前
时序数据库 TDengine 在设备监测中的实际落地:从传感器上报到实时看板
java·时序数据库·tdenginne
geats人山人海15 分钟前
c# 第九章 record
开发语言·c#
早期的虫儿有鸟吃16 分钟前
vue2--Vuex 模块化
开发语言·前端·javascript
播播资源19 分钟前
智能路由(AI Router):用“虚拟模型”撬动无限算力,从此告别手动切换
数据库
程序员清风21 分钟前
推荐几个我常听的AI播客!
java·后端·面试
熊文豪28 分钟前
【金仓数据库征文】不装中间件的 MySQL→金仓在线迁移,mysql_fdw 全流程,和一个差点漏掉的 emoji
数据库·mysql·中间件·电科金仓
唐青枫42 分钟前
Java Gradle 实战指南:从 Wrapper、Kotlin DSL 到 Spring Boot 多模块构建
java·kotlin·gradle
浪客川42 分钟前
Android的SystemUI的启动流程简析
android·开发语言
wuqingshun31415943 分钟前
如何理解Spring Boot中的starter?
java·spring boot·后端
带刺的坐椅44 分钟前
Solon TeamAgent 协作协议:从 SEQUENTIAL 流水线到 HIERARCHICAL 主管团队
java·ai·llm·agent·solon