MybatisPlus - QueryMapper分页查询出来total=0

通过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();
    }
}

你可能感兴趣的:(java,mysql,数据库,mybatis,spring,boot)