Mybatis-Plus操作分页后数据失效问题

在使用PageHelper进行分页查询后,将User类型转换为UserVo时,由于泛型原因导致PageInfo中的数据失效。解决方法是通过自定义pageInfoUtil进行数据处理,但此方法较为笨拙,寻求更优方案。
摘要由CSDN通过智能技术生成

业务场景

我们知道在使用PageHelper分页插件时,会对执行PageHelper.startPage(pageNum, pageSize);方法后的第一条查询语句进行分页操作。在开发中总会遇到这样的业务情景,在进行分页查询后,需要对获得的列表数据包装成另一种类型,此时需要对新类型的列表进行分页,然而由于PageInfo<T>因为泛型的原因,导致处理后的列表不能加入到该类中。
如,我在数据库分页后查询到的类为PageInfo<User>,此时改类中的list属性为User,在当前的业务场景下,我需要将User类型替换为UserVo类型。
当我们对list属性进行操作时,会同时导致PageInfo类中的其他属性发生改变,如total等。

解决方法

        //从数据库获得的Users分页列表
        //当我们打印users时,会发现打印出来的数据除了列表数据还有分页属性
        List<User> users = this.list();
        //操作users获得的需要的列表
        List<UserVo> userVos = this.list2(users);
        //创建User的info类,此时page中的属性已生成
        PageInfo<User> userPage = new PageInfo<>(users);
        //创建UserVo的info类
        PageInfo<UserVo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值