MyBatis-Plus 分页插件配置的两种方式实现
作者:晟盾科技
在使用 MyBatis-Plus 进行数据库操作时,分页查询是一个非常常见的需求。MyBatis-Plus 提供了方便的分页插件来简化这一过程。本文将详细介绍如何正确配置 MyBatis-Plus 的分页插件(包括 MybatisPlusInterceptor
和 PaginationInterceptor
)。
一、pom.xml文件配置
为了使用 MyBatis-Plus 的分页插件,你需要确保在你的 Maven 项目的 pom.xml
文件中正确添加了必要的依赖:(一般情况下,只添加mybatis-plus的起步依赖mybatis-plus-boot-starter就可以)
注意:将${mybatis-plus.version}替换为你的项目的mybatis-plus的版本号,或者在pom.xml的<properties>的标签中统一管理版本信息
<!-- MyBatis-Plus Boot Starter --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency> <!-- MyBatis-Plus Extension for PaginationInterceptor or MybatisPlusInterceptor --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-extension</artifactId> <version>${mybatis-plus.version}</version> </dependency>
二、使用PaginationInterceptor
- 适用于 MyBatis-Plus 3.4.0 之前的版本
如果你正在使用的是 MyBatis-Plus 3.4.0 之前的版本,那么你需要使用 PaginationInterceptor,它是专门用于处理分页逻辑的拦截器,在早期版本中,作为一个单独的插件提供分页功能,在Springboot框架下的应该采用如下方式进行配置:
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * mybatis-plus配置 */@ConfigurationpublicclassMybatisPlusConfig { /** * 添加分页插件 */@Beanpublic PaginationInterceptor paginationInterceptor() { returnnewPaginationInterceptor(); } }
三、使用MybatisPlusInterceptor
- 适用于 MyBatis-Plus 3.4.0 之后的版本
从 MyBatis-Plus 3.4.0 版本开始,官方推荐使用 MybatisPlusInterceptor
来替代旧版本中的 PaginationInterceptor
。MybatisPlusInterceptor作为一个继集成了多种功能功能的拦截器,
支持多种插件,如分页插件、性能分析插件等,通过调用addInnerInterceptor()方法来使该拦截器具备各种功能。以下是官方文档中在SpringBoot框架下进行分页插件配置的方式
import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * mybatis-plus配置 */@ConfigurationpublicclassMybatisPlusConfig { /** * 添加分页插件 */@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptorinterceptor=newMybatisPlusInterceptor(); // 添加分页插件, 如果配置多个插件, 切记分页最后添加 interceptor.addInnerInterceptor(newPaginationInnerInterceptor(DbType.MYSQL)); // 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbTypereturn interceptor; }
四、两种拦截器的对比
1. PaginationInterceptor:
- 主要关注于分页功能,适用于只需要简单的分页逻辑的应用场景
2. MybatisPlusInterceptor:
- 分页插件:实现分页逻辑
- 性能分析插件:帮助监控 SQL 执行时间。
- SQL 注入防护插件:提高应用安全性。
- 多租户插件:支持多租户架构下的数据隔离。
- 乐观锁插件:简化并发控制。
五、总结及建议
如果你正在开发或维护一个基于 MyBatis-Plus 3.4.0 之前的项目,并且你的需求仅仅是分页功能,那么 PaginationInterceptor
就足够了。
对于 MyBatis-Plus 3.4.0 及之后的版本,官方推荐使用 MybatisPlusInterceptor
,因为它提供了更高的灵活性和更多的内置功能,可以根据实际需要轻松扩展应用的功能。
到此这篇关于MyBatis-Plus 分页插件配置的两种方式实现的文章就介绍到这了,更多相关MyBatis-Plus 分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- Mybatis-Plus 多表联查分页的实现代码
- Mybatis-plus新版本分页失效PaginationInterceptor过时的问题
- MyBatis-Plus 分页查询以及自定义sql分页的实现
- mybatis-plus分页传入参数后sql where条件没有limit分页信息操作
- mybatis-plus分页查询的实现示例
- MyBatis-Plus分页插件不生效的解决方法
- MyBatis-Plus实现2种分页方法(QueryWrapper查询分页和SQL查询分页)
- MyBatis-Plus分页时排序的实现方法
- 解决mybatis-plus3.4.1分页插件PaginationInterceptor和防止全表更新与删除插件SqlExplainInterceptor过时失效问题
- Mybatis-Plus中分页插件PaginationInterceptor的使用
- 一文搞懂Mybatis-plus的分页查询操作