【若依】如何导入 mybatis-plus

Published 2026-06-30 14:51 382 words 2 min read

This post is not yet available in English. Showing the original.
本文章使用若依分离版,版本号 1. 声明版本 在 中声明版本号。 2. 替换依赖 在 中管理版本。 3. 导入依赖 在 导入 依赖。

本文章使用若依分离版,版本号4.9.2

1. 声明版本

properties 中声明版本号。

<properties>
	<!-- mybatis-plus -->
	<mybatis-plus.version>3.5.16</mybatis-plus.version>
	<mybatis-plus-jsqlparser.version>3.5.15</mybatis-plus-jsqlparser.version>
</properties>

2. 替换依赖

dependencyManagement 中管理版本。

<dependencyManagement>
	<dependencies>
		<!-- mybatis-plus -->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-spring-boot4-starter</artifactId>
			<version>${mybatis-plus.version}</version>
		</dependency>

		<!-- sql 解析器 -->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-jsqlparser</artifactId>
			<version>${mybatis-plus-jsqlparser.version}</version>
		</dependency>
	</dependencies>
</dependencyManagement>

3. 导入依赖

ruo-common 导入 mybatis-plus-spring-boot4-starter 依赖。

<!-- mybatis-plus -->
<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-spring-boot4-starter</artifactId>
</dependency>

<!-- mybatis-plus 增强依赖,必须添加这个,否则分页和阻断插件会报找不到类 -->
<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-jsqlparser</artifactId>
</dependency>

4. 配置 Mybatis-Plus

  1. 删除 src/main/java/com/ruoyi/framework/config 下的 MyBatisConfig
  2. 创建 MybatisPlusConfig,并配置如下:
package com.ruoyi.framework.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
 * Mybatis Plus 配置
 */
@EnableTransactionManagement(proxyTargetClass = true)
@Configuration
public class MybatisPlusConfig
{
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor()
    {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        // 分页插件
        interceptor.addInnerInterceptor(paginationInnerInterceptor());
        // 乐观锁插件
        interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
        // 阻断插件
        interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
        return interceptor;
    }

    /**
     * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html
     */
    public PaginationInnerInterceptor paginationInnerInterceptor()
    {
        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
        // 设置数据库类型为mysql
        paginationInnerInterceptor.setDbType(DbType.MYSQL);
        // 设置最大单页限制数量,默认 500 条,-1 不受限制
        paginationInnerInterceptor.setMaxLimit(-1L);
        return paginationInnerInterceptor;
    }

    /**
     * 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
     */
    public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor()
    {
        return new OptimisticLockerInnerInterceptor();
    }

    /**
     * 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html
     */
    public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
    {
        return new BlockAttackInnerInterceptor();
    }
}

5. 完成

至此,无痛升级 mybatis-plus 无需改动除配置类其他代码。

减少 AI 幻觉计划

本文仅适用于: 若依 Vue 分离版 4.9.2 Spring Boot 4.x 若依 mybatis 不改代码升级 mybatis-plus