一、问题
SpringBoot + Mybatis-Plus,使用分页查询,records有记录,total却始终为0。
二、原因
查看很多博客,说是因为没有加分页拦截器。加上了,total仍然为0,PaginationInnerInterceptor根本没进入。原因是自定义的sqlSessionFactory里没有添加Mybatis-Plus分页拦截器。
三、解决
在sqlSessionFactory里添加分页拦截器。
@Configurationpublic class MybatisPlusConfig {/** * 新增分页拦截器,并设置数据库类型为mysql */@Bean(name = "mybatisPlusInterceptor")public MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}}
添加后,在PaginationInnerInterceptor.willDoQuery()方法里可以看到,total被赋值了。