java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > MyBatis-Plus 分页

MyBatis-Plus 分页插件配置的两种方式实现

作者:晟盾科技

本文主要介绍了MyBatis-Plus 分页插件配置的两种方式实现,包括使用PaginationInterceptor和MybatisPlusInterceptor两种方式,具有一定的参考价值,感兴趣的可以了解一下

在使用 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 之前的版本,那么你需要使用 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 版本开始,官方推荐使用 MybatisPlusInterceptor 来替代旧版本中的 PaginationInterceptorMybatisPlusInterceptor作为一个继集成了多种功能功能的拦截器,支持多种插件,如分页插件、性能分析插件等,通过调用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:

五、总结及建议

如果你正在开发或维护一个基于 MyBatis-Plus 3.4.0 之前的项目,并且你的需求仅仅是分页功能,那么 PaginationInterceptor 就足够了。

对于 MyBatis-Plus 3.4.0 及之后的版本,官方推荐使用 MybatisPlusInterceptor,因为它提供了更高的灵活性和更多的内置功能,可以根据实际需要轻松扩展应用的功能。

到此这篇关于MyBatis-Plus 分页插件配置的两种方式实现的文章就介绍到这了,更多相关MyBatis-Plus 分页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文