MybatisPlus插件分页查询不起作用 完美解决MybatisPlus插件分页查询不起作用总是查询全部数据问题
邵鸿鑫 人气:0想了解完美解决MybatisPlus插件分页查询不起作用总是查询全部数据问题的相关内容吗,邵鸿鑫在本文为您仔细讲解MybatisPlus插件分页查询不起作用的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Mybatis,Plus插件分页查询不起作用,Mybatis,Plus分页查询,下面大家一起来学习吧。
一 介绍
1.1 MyBatis Plus简介
MyBatis-Plus(简称 MP),是一个 MyBatis 的增强工具包,**只做增强不做改变. 发工作、提高生产率而生。**
我们的愿景是成为 Mybatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。(来自官方文档)
1.2 MyBatis Plus的下载
Mybatis Plus开发增强工具包(通用mapper插件) 3.3.0 官方免费版
https://www.qb5200.com/softs/543468.html
官方地址:
代码发布地址:
Github:
https://github.com/baomidou/mybatis-plus
Gitee:
https://gitee.com/baomidou/mybatis-plus
文档发布地址:
问题描述:
在使用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,有兴趣你可以试试,很容易就能验证出来的。
总结
加载全部内容