解决MybatisPlus插件分页查询不起作用,总是查询全部数据问题

Posted 邵鸿鑫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决MybatisPlus插件分页查询不起作用,总是查询全部数据问题相关的知识,希望对你有一定的参考价值。

问题描述:

在使用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,有兴趣你可以试试,很容易就能验证出来的。

 

以上是关于解决MybatisPlus插件分页查询不起作用,总是查询全部数据问题的主要内容,如果未能解决你的问题,请参考以下文章

PageHelper和MybatisPlus的分页插件冲突

SpringBoot+MyBatisPlus:分页查询压缩文件导出大数据量解决方案

为啥分页插件和跳过/限制在那个 mongodb 查询中不起作用?

MyBatisPlus 分页插件和数据库行锁的几点思考

Mybatis-plus之分页泛型转换

Mybatisplus 分页查询时,禁止自动统计总数