解决MybatisPlus插件分页查询不起作⽤,总是查询全部数据
问题
问题描述:
在使⽤mybatisplus插件进⾏分页查询时分页参数不起作⽤,总是查出来全部数据。
原因分析:
查看打印的sql⽇志发现sql后⾯并没有limit条件,怀疑是缺少配置。
解决⽅案:
查阅资料通过添加配置类MybatisPlusConfig解决问题:
@Configuration
public class MybatisPlusConfig {
@Bean
分页查询插件public PaginationInterceptor paginationInterceptor(){
return new PaginationInterceptor();
}
}
如果不配置PaginationInterceptor,MP提供的分页⽅法是⽆效的,例如使⽤mysql,配置了PaginationI
nterceptor,调⽤MP提供的分页⽅法,假设使⽤selectPage⽅法,他会执⾏两条sql语句,⼀条查询总记录数的sql,⼀条查询当前页记录的sql是带limit分页条件的。如果不配置,调⽤selectPage只会执⾏⼀条查询记录的sql,并且不带limit,有兴趣你可以试试,很容易就能验证出来的。