PageHelper.startPage放置位置异常(导致影响其他接口相同查询返回结果集不同)

文章指出了在使用Mybatis进行分页查询时,如果将查询操作放在分页之前,可能导致分页失效,进而影响其他接口的行为。错误的代码顺序可能会使后续接口意外地应用了错误的分页参数,而项目中的缓存并非问题原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异常写法

//查询在前
List<MdmUserDTO> list = mdmUserMapper.listUser(selectMdmUserReqBody);
//分页在后
PageHelper.startPage(selectMdmUserReqBody.getCurrentPage(), selectMdmUserReqBody.getPageSize());

导致结果:
1.分页未起到作用 分页失败
2.博主此处为页面进去会初始化两个接口A和B 由于A分页接口分页失败 导致B莫名收到一个pageSize=20的默认分页参数 本来B查询只是select * from student; 但是受A影响 会概率出现select * from student limit 20;的情况(具体导致的原因不知)

正常写法

//分页在前
PageHelper.startPage(selectMdmUserReqBody.getCurrentPage(), selectMdmUserReqBody.getPageSize());
//查询在后
List<MdmUserDTO> list = mdmUserMapper.listUser(selectMdmUserReqBody);

问题是小问题 但是很恶心 网上很多有说是mybatis缓存的问题导致查询结果不一致 但是我项目缓存是关闭的 记录一下

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

白大锅

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

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

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

打赏作者

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

抵扣说明:

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

余额充值