Mybatis-plus的selectPage()分页查询不生效问题解决
作者:风卷残云_迟来大师
本文主要介绍了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()分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!