时间:2021-04-05 10:09:03 | 栏目:JAVA代码 | 点击:次
问题描述:
在使用mybatisplus插件进行分页查询时分页参数不起作用,总是查出来全部数据。

原因分析:
查看打印的sql日志发现sql后面并没有limit条件,怀疑是缺少配置。
解决方案:
查阅资料通过添加配置类MybatisPlusConfig解决问题:
@Configuration
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor(){
return new PaginationInterceptor();
}
}
如果不配置PaginationInterceptor,MP提供的分页方法是无效的,例如使用mysql,配置了PaginationInterceptor,调用MP提供的分页方法,假设使用selectPage方法,他会执行两条sql语句,一条查询总记录数的sql,一条查询当前页记录的sql是带limit分页条件的。如果不配置,调用selectPage只会执行一条查询记录的sql,并且不带limit,有兴趣你可以试试,很容易就能验证出来的。

总结