【BUG】MyBatisPlus分页插件的大坑—— 分页查询 total和pages为0的问题解决 并且有分页记录
出现这种情况的可能无非有3种:
(1)没有配置拦截器
(2)有配置拦截器,但是没有在方法上面加上@Bean
(3)使用了旧版的拦截器!!!(大坑)
一、没有配置拦截器
能在百度搜索这个问题的小伙伴,基本不会没有配置拦截器,所以是这种情况的可能性很小
二、有配置拦截器,但是没有在方法上面加上@Bean
@Configuration
@MapperScan("com.Harmony.dao")
public class MyBatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return interceptor;
}
}
@Bean没有配置,Springboot自然扫描不到该拦截器,所以,写了也白写!!!
三、使用了旧版的拦截器!!!(大坑)
本人这次遇到的!!!
自从mybatis-plus某版本3.4/3.5更新之后,原先的分页插件paginationInterceptor无法正常使用
就是使用了PaginationInnerInterceptor拦截器,这是MyBatisPlus旧版的!基本已经废弃了,在新版的IDEA中会有提示,所以建议使用MybatisPlusInterceptor
@Configuration
@MapperScan("com.Harmony.dao")
public class MyBatisPlusConfig {
/**
* //配置分页插件(过时了!!!)
* // 可以用,但是可以total的值会一直显示为0
* @Bean
* public PaginationInnerInterceptor paginationInnerInterceptor() {
* return new PaginationInnerInterceptor();
* }
*/
// 新版本的方法就是 MybatisPlusInterceptor
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return interceptor;
}
}