springboot+mybatis 利用PageHelper插件分页,结果第二页的返回分页信息还是和第一页一样。

在使用PageHelper进行分页查询时,如果在获取list后进行了大量的处理,可能导致分页信息错误。解决办法是在代码开头设置PageHelper,查询list后获取不分页情况下的总条数,并在最后进行特定处理。以下是具体实现示例。
摘要由CSDN通过智能技术生成

正常使用PageHelper来分页时可以的,但是如果在查询list后做了非常多的处理,即解包在装包操作。可能最后返回时分页的数据查询的对,但是分页信息就有问题了。有的甚至分页功能都不行。这里为避免几个坑,有些规则遵守还是有必要的。

1.首先将下面这句代码放在第一行。

PageHelper.startPage(pageNum, pageSize);

2.查询出list后,通过下面语句获取总条数。这个不是这一页的总条数,而是不分页情况下查询的总条数。

PageInfo<实体类> pageInfo = new PageInfo(实体类对应的集合);
int total = (int)pageInfo.getTotal();

3.在代码的最后做如下处理

 CommonPage<StandardLessonInfo> orderCommonPage = CommonPage.restPage(lessonInfoList);
        orderCommonPage.setList(lessonInfoList);
        orderCommonPage.setPageNum(pageNum);
        orderCommonPage.setPageSize(pageSize);
        orderCommonPage.setTotalPage((total + pageSize - 1) / pageSize);
        orderCommonPage.setTotal(pageInfo.getTotal());
        return CommonResult.success(orderCommonPage);

下面是具体的demo。

public CommonResult<CommonPage
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万米高空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值