针对mybatis-plus分页不起效果大致可以分为以下两大类:
1- mybatis-plus 版本问题
针对分页插件在3.4版本和3.4之前的版本配置是有区别的
重点是检查下自己的版本:以下以mysql为例子:
3.4之前是:
@Bean public PaginationInterceptor paginationInterceptor() { PaginationInterceptor page = new PaginationInterceptor(); page.setDialectType("mysql"); return page; } 3.4之后 @Bean public MybatisPlusInterceptor mybatisPlusInterceptor(){ MybatisPlusInterceptor interceptor=new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); return interceptor; }
以上是两个分页插件实现的类是不同的。
2-自定义实现数据源的时候(SqlSessionFactoryBean)
这个时候在属性文件上的一些配置,包括单独配置 MybatisPlusConfig 已经不起作用了,这个时候,因为自定义的数据源,则在该数据源下添加插件配置:
MybatisSqlSessionFactoryBean mybatisPlus = new MybatisSqlSessionFactoryBean();
。。。。
mybatisPlus.setPlugins(new Interceptor[]{
paginationInterceptor() //3.4之前此配置,参考上面3.4之前的写法
});
3.4之后:
MybatisSqlSessionFactoryBean mybatisPlus = new MybatisSqlSessionFactoryBean();
。。。
MybatisPlusInterceptor interceptor=new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
mybatisPlus.setPlugins(interceptor);
以上都是自己手写,有些是中文符号,复制的时候请检查。