Mybatis-plus的selectPage()分页查询不生效问题解决
背景:
项目需要从mybits切换到mubits-plus,但是我在进行分页查询的时候,发现一直不生效
问题原因:
添加监听器,配置如下:
@Configuration
@MapperScan("com.baomidou.mybatisplus.samples.deluxe.mapper")
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return interceptor;
}
/**
* 自定义 SqlInjector
* 里面包含自定义的全局方法
*/
@Bean
public MyLogicSqlInjector myLogicSqlInjector() {
return new MyLogicSqlInjector();
}
}问题定位过程:
如果不感兴趣着,可以在上面复制答案,直接操作就行
debug看看啥原因:
入参:
debug看没有问题


结果:
两条数据同时没有总数,不符合要求

看日志:
没有拼接分页查询的动作

那么什么原因的
1.查看官网文档
网管地址:MyBatis-Plus
官网有些水,没看到具体信息
2.查看案例
github地址
GitHub - baomidou/mybatis-plus-samples: MyBatis-Plus Samples
在案例中找到了错误原因:
需要配置监听器
按照下面的方式添加就行
@Configuration
@MapperScan("com.baomidou.mybatisplus.samples.deluxe.mapper")
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return interceptor;
}
/**
* 自定义 SqlInjector
* 里面包含自定义的全局方法
*/
@Bean
public MyLogicSqlInjector myLogicSqlInjector() {
return new MyLogicSqlInjector();
}
}到此这篇关于Mybatis-plus的selectPage()分页查询不生效问题解决的文章就介绍到这了,更多相关Mybatis-plus selectPage()分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
重试框架Guava-Retry和spring-Retry的使用示例
spring-retry 和 guava-retry 工具都是线程安全的重试,能够支持并发业务场景的重试逻辑正确性,本文主要介绍了重试框架Guava-Retry和spring-Retry的使用示例,感兴趣的可以一下2023-09-09
SpringBoot 整合 Avro 与 Kafka的详细过程
本文介绍了如何在Spring Boot中使用Avro和Kafka进行数据的序列化和反序列化,并通过MyBatisPlus将数据存入数据库,感兴趣的朋友跟随小编一起看看吧2024-12-12


最新评论