MybatisPlus插件分页查询为何总失效,如何完美解决?

2026-05-21 10:271阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计477个文字,预计阅读时间需要2分钟。

MybatisPlus插件分页查询为何总失效,如何完美解决?

一、介绍 1.1 MyBatis Plus简介 MyBatis-Plus(简称MP),是MyBatis的增强工具包,只做增强不做改变。致力于提高开发效率、降低代码量,而无需修改原有代码逻辑。我们的愿景是成为MyBatis生态最优秀的搭建方案,就像英雄联盟中的1一样。

一 介绍

1.1 MyBatis Plus简介

MyBatis-Plus(简称 MP),是一个 MyBatis 的增强工具包,**只做增强不做改变. 发工作、提高生产率而生。**

我们的愿景是成为 Mybatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。(来自官方文档)

1.2 MyBatis Plus的下载

Mybatis Plus开发增强工具包(通用mapper插件) 3.3.0 官方免费版

www.jb51.net/softs/543468.html

官方地址:

mp.baomidou.com

代码发布地址:

Github:
github.com/baomidou/mybatis-plus
Gitee:
gitee.com/baomidou/mybatis-plus

文档发布地址:

mp.baomidou.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插件分页查询不起作用总是查询全部数据问题的文章就介绍到这了,更多相关MybatisPlus插件分页查询不起作用内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

本文共计477个文字,预计阅读时间需要2分钟。

MybatisPlus插件分页查询为何总失效,如何完美解决?

一、介绍 1.1 MyBatis Plus简介 MyBatis-Plus(简称MP),是MyBatis的增强工具包,只做增强不做改变。致力于提高开发效率、降低代码量,而无需修改原有代码逻辑。我们的愿景是成为MyBatis生态最优秀的搭建方案,就像英雄联盟中的1一样。

一 介绍

1.1 MyBatis Plus简介

MyBatis-Plus(简称 MP),是一个 MyBatis 的增强工具包,**只做增强不做改变. 发工作、提高生产率而生。**

我们的愿景是成为 Mybatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。(来自官方文档)

1.2 MyBatis Plus的下载

Mybatis Plus开发增强工具包(通用mapper插件) 3.3.0 官方免费版

www.jb51.net/softs/543468.html

官方地址:

mp.baomidou.com

代码发布地址:

Github:
github.com/baomidou/mybatis-plus
Gitee:
gitee.com/baomidou/mybatis-plus

文档发布地址:

mp.baomidou.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插件分页查询不起作用总是查询全部数据问题的文章就介绍到这了,更多相关MybatisPlus插件分页查询不起作用内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!