Mybatis-Plus 分页无效,失效,返回全部的问题解决记录

Mybatis-Plus 分页无效,失效,返回全部的问题解决记录

笔者在最近的开发中,拿到了公司一个二手项目的整改,看了原项目是使用了Mybatis-Plus的,那么我也就默认这个项目的配置是齐全的,但是我新加了一些功能,导致分页没有效果,这让我百思不得其解,先贴上代码:

public Page<SysLogLoginDTO> pageLoginLog(PageLoginDto pageLoginDto) {
   
        LambdaQueryWrapper<SysLogLoginEntity> wrappers = Wrappers.lambdaQuery(SysLogLoginEntity.class)
                .eq(Objects.nonNull(pageLoginDto.getStatus()),
### MyBatis-Plus 分页功能无效解决方案 对于MyBatis-Plus分页功能无法正常工作的情况,通常涉及几个方面的原因以及相应的解决办法。 #### 1. 插件配置不当 如果未正确配置分页插件,则可能导致分页失效。应确保已按照官方文档说明,在Spring Boot应用中通过`@Configuration`类注册了`MybatisPlusInterceptor`拦截器,并添加了内部拦截器`PaginationInnerInterceptor()`来支持分页操作[^3]。 ```java @Configuration public class MyBatisConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor(){ MybatisPlusInterceptor mpi = new MybatisPlusInterceptor(); mpi.addInnerInterceptor(new PaginationInnerInterceptor()); return mpi; } } ``` #### 2. 缓存设置冲突 当使用一、二级缓存时,可能会因为默认执行器的存在而引发问题。为了避免此类情况的发生,建议将`MybatisConfiguration#useDeprecatedExecutor`属性设为false,从而防止因旧版执行器带来的潜在兼容性问题影响到分页逻辑的实现效果。 #### 3. SQL语句编写错误 有时即使插件已经成功加载并运行,但如果SQL查询本身存在问题(比如缺少必要的参数传递),也会造成看似分页机制未能发挥作用的现象。因此务必仔细检查Mapper接口中的方法定义及其对应的XML映射文件内的SELECT标签内容是否符合预期标准[^2]。 #### 4. 版本差异引起的问题 不同版本之间可能存在API变动或是Bug修复,所以确认所使用的MyBatis-Plus库处于最新稳定状态是非常重要的一步。此外还需注意其他依赖项之间的协调一致性,以免相互干扰而导致意外行为发生[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值