1. 环境准备与依赖引入
在开始集成MybatisPlus之前,建议先创建一个干净的项目备份。我遇到过不少开发者因为直接修改生产环境代码导致问题难以回退的情况。RuoYi-Vue 3.8.6默认使用的是原生MyBatis,我们需要先确认当前项目的依赖状态。
打开ruoyi-common模块下的pom.xml文件,找到原有的MyBatis依赖项。通常你会看到类似这样的配置:
xml复制<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
这里有个关键决策点:是直接替换还是共存?根据我的实践经验,建议先保留原依赖,等完全迁移完成后再移除。这样可以避免中途出现问题导致项目无法启动。
接下来添加MybatisPlus的核心依赖。注意版本选择很重要,我测试过3.5.3.1版本与RuoYi-Vue 3.8.6兼容性最好:
xml复制<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
这里有个小技巧:如果你不确定该用哪个版本,可以到Maven中央仓库查看该依赖的最新release版本。但要注意,最新版不一定最稳定,特别是对于已有项目升级的情况。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心配置改造
2.1 创建MybatisPlus配置类
在ruoyi-framework模块的config包下,我们需要新建一个MybatisPlusConfig配置类。这个类将替代原有的MyBatisConfig(但先不要删除旧配置)。
我建议采用渐进式改造策略:
- 先新建配置类
- 逐步迁移功能
- 最后再考虑移除旧配置
以下是完整的配置类示例,我添加了详细的注释说明每个插件的用途:
java复制@EnableTransactionManagement(proxyTargetClass = true)
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 分页插件 - 必选
interceptor.addInnerInterceptor(paginationInnerInterceptor());
// 乐观锁插件 - 按需
interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
// SQL阻断插件 - 安全防护
interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
