通过QueryMapper.selectPage,查询的时候,发现Records是正常的,但是total为0,未能正常分页、是因为、SpirngBoot没有读取到PaginationInnerInterceptor这个Bean
解决办法:
新建一个MybatisPlasConfig
@EnableTransactionManagement
@Configuration
public class MybatisPlusConfig {
public PaginationInnerInterceptor paginationInterceptor() {
PaginationInnerInterceptor paginationInterceptor = new PaginationInnerInterceptor();
return paginationInterceptor;
}
}
到这里问可能已经解决了,但是既然都写到这里了,可以的多加一些东西,比如,设置下最大Limit,配置下拦截器的数据库
paginationInterceptor.setMaxLimit(-1L);
paginationInterceptor.setDbType(DbType.MYSQL);
或者你还可以写一个乐观锁 , 全部代码如下
@EnableTransactionManagement
@Configuration
public class MybatisPlusConfig {
/**
* 分页插件
* @return 分页插件实例
*/
@Bean
public PaginationInnerInterceptor paginationInterceptor() {
PaginationInnerInterceptor paginationInterceptor = new PaginationInnerInterceptor();
paginationInterceptor.setMaxLimit(-1L);
paginationInterceptor.setDbType(DbType.MYSQL);
return paginationInterceptor;
}
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
return interceptor;
}
/**
* 乐观锁
*/
@Bean
public OptimisticLockerInnerInterceptor mybatisPlusInterceptor() {
return new OptimisticLockerInnerInterceptor();
}
}