Mybatis Plus分页查询返回total为0问题
一日,乌云密布,本人看着mybatis plus的官方文档,随手写了个分页查询,如下
Page<Question> questionPage = questionService.page(new Page<>(current, size),
questionService.getQueryWrapper(questionQueryRequest));
写完之后,能够查到数据库的数据。在联调前端时,发现分页数据的总条数(total)始终为0。
debug后,确认问题出在后端:
在明显有数据的情况下,total为0,考虑mybatis plus配置问题。查阅资料和官方文档后得知,是没有配置mybatis plus拦截器。
官方文档:https://baomidou.com/plugins/pagination/
添加配置类如下
@Configuration
@MapperScan("scan.your.mapper.package")
public class MybatisPlusConfig {
/**
* 添加分页插件
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加
// 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbType
return interceptor;
}
}