若依分页失败,由于对数据二次处理导致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;
    }
相关推荐
2401_883600252 小时前
Redis如何查询特定用户的排名_利用ZREVRANK指令获取ZSet降序名次
jvm·数据库·python
014-code2 小时前
日志规范:怎么写才不算写废话
java·开发语言·设计模式·日志
2301_777599372 小时前
如何决定是否需要创建索引_数据区分度与基数Cardinality计算
jvm·数据库·python
m0_514520572 小时前
SQL在SQL存储过程中优化子查询_缓存中间结果减少开销
jvm·数据库·python
Binarydog_Lee2 小时前
Rust 核心机制:所有权、借用与生命周期
开发语言·rust
XMYX-02 小时前
17 - Go 通道 Channel 底层原理 + 实战详解
开发语言·golang
21439652 小时前
JavaScript中剩余参数在函数签名中的定义位置与限制
jvm·数据库·python
CQU_JIAKE2 小时前
4.17[Q]
java·linux·服务器
2301_815279522 小时前
CSS定位如何实现多行文字垂直居中_通过绝对定位模拟表格
jvm·数据库·python
Hello--_--World2 小时前
ES13:类私有属性和方法、顶层 await、at() 方法、Object.hasOwnProperty()、类静态块 相关知识点
开发语言·javascript·es13