一、MybatisPlusConfig配置类
@Configuration
public class MybatisPlusConfig {
/**
* 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
paginationInnerInterceptor.setDbType(DbType.MYSQL);
//分页查询超过最大页码 显示第一页
paginationInnerInterceptor.setOverflow(true);
interceptor.addInnerInterceptor(paginationInnerInterceptor);
return interceptor;
}
/**
* 设置useDeprecatedExecutor=false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
* @return ConfigurationCustomizer
*/
@Bean
public ConfigurationCustomizer configurationCustomizer() {
return configuration -> configuration.setUseDeprecatedExecutor(false);
}
/**
* 此配置可有可无,自定义ISqlInjector
* @return DefaultSqlInjector
*/
@Bean
public ISqlInjector sqlInjector() {
return new DefaultSqlInjector();
}
}
二、paginationInnerInterceptor.setOverflow(true);
1、详细说明见下面文章
Mybatis-plus 分页查询超过最大页数返回空数据问题_AlbenXie的博客-CSDN博客
2、自定义配置见下面文章
Mybatis Plus分页查询超过最大页码的自定义处理_AlbenXie的博客-CSDN博客
三、ISqlInjector
自定义ISqlInjector sql注入器,添加通用方法