若依Ruoyi分离版替换 MyBatis-Plus

若依项目:Ruoyi-vue 3.8.8
MyBatis-Plus:3.5.9

目标:用 MyBatis-Plus 替换项目中 MyBatis

建立分支
新建分支switch-mybatisplus以防万一

改造依赖
在项目的根pom.xml中引入依赖

<properties>
...
<mybatis-plus.version>3.5.9</mybatis-plus.version>
</properties>

<dependencyManagement>
	<dependency>
		<groupId>com.baomidou</groupId>
		<artifactId>mybatis-plus-bom</artifactId>
		<version>${mybatis-plus.version}</version>
		<type>pom</type>
		<scope>import</scope>
	</dependency>
	
	<dependency>
		<groupId>com.baomidou</groupId>
		<artifactId>mybatis-plus-boot-starter</artifactId>
		<version>${mybatis-plus.version}</version>
	</dependency>
	
	<dependency>
		<groupId>com.baomidou</groupId>
		<artifactId>mybatis-plus-jsqlparser</artifactId>
		<version>${mybatis-plus.version}</version>
	</dependency>
</dependencyManagement>

需要说明的是,如果是引入主要功能,只引入mybatis-plus-boot-starter就够了,本例中因为想要引入Mybatis-Plus的分页插件所以根据官方的说明,引入了mybatis-plus-bommybatis-plus-jsqlparser

引入时还发生了插曲,按照官方说明jdk 8+应该引入的是

<!-- jdk 8+ 引入可选模块 -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-jsqlparser-4.9</artifactId>
</dependency>

但实际引入不成功,改为上例中的引入可行(引入正常但代码未测试是否能正常运行)。
image

commonframework两个模块也分别引入

<!-- common 添加 -->
<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-jsqlparser</artifactId>
</dependency>
<!-- framework 添加 -->
<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-jsqlparser</artifactId>
</dependency>

修改 application.yml
屏蔽原有的Mybatis配置段,增加新的MyBatis-Plus配置段

# MyBatis配置
#mybatis:
#  # 搜索指定包别名
#  typeAliasesPackage: com.ruoyi.**.domain
#  # 配置mapper的扫描,找到所有的mapper.xml映射文件
#  mapperLocations: classpath*:mapper/**/*Mapper.xml
#  # 加载全局的配置文件
#  configLocation: classpath:mybatis/mybatis-config.xml

# mybatis-plus
mybatis-plus:
  mapper-locations: classpath*:mapper/**/*Mapper.xml
  type-aliases-package: com.ruoyi.**.domain
  global-config:
    db-config:
      id-type: auto
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false
    # 开启sql日志
    #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

修改 MyBatis.conf
将原有的MyBatisConfig.java文件删除或全部注释,新建MyBatisPlusConfig.java

package com.ruoyi.framework.config;

import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyBatisPlusConfig {

    @Bean
    public PaginationInnerInterceptor paginationInterceptor() {
        return new PaginationInnerInterceptor();
    }
}

对于原有MyBatisConfig.java文件的处理,网上有不同的说法,有的是全部注释、有的删除、有的改写,本例中使用的是文件保留但注释全部内容的处理方式。
image

至此完成依赖引入和替换,可以正常启动工程(截止到写文时启动成功但未测试运行是否正常)。

maven 仓库的补充
一开始对mybatis-plus-jsqlparser是找不到的,修改了当前工程的maven配置,添加了仓库的镜像地址,又经过了反复的引入查找最终成功找到,以下是本例中对maven的配置
image
image

参考
MyBatis-Plus安装
【若依管理系统】如何将 Mybatis 升级为 Mybatis-Plus
若依前后端分离版本原生mybatis替换mybatis-plus详细教程
springboot整合mybatis-plus及mybatis-plus分页插件的使用
若依 MyBatis改为MyBatis-Plus

posted @   试试手气  阅读(830)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示