首页 > 其他分享 >若依Ruoyi分离版替换 MyBatis-Plus

若依Ruoyi分离版替换 MyBatis-Plus

时间:2024-11-23 23:23:02浏览次数:5  
标签:引入 baomidou Ruoyi mybatis plus MyBatis Plus com

若依项目: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

标签:引入,baomidou,Ruoyi,mybatis,plus,MyBatis,Plus,com
From: https://www.cnblogs.com/cinlap/p/18565253

相关文章

  • oneplus6线刷、trwp、magisk(apatch)、LSPosed、Shamiko、Hide My Applist
    oneplus6线刷android10.0.1oneplus6线刷包(官方android10.0.1)下载、线刷教程:OnePlus6-brick-enchilada_22_K_52_210716_repack-HOS-10_0_11-zip启用开发者模式设置/连续点击6次版本号:启用开发者模式设置/开发者模式/{打开usb调试,禁止系统自动更新}设置/禁止自动......
  • Mybatis-plus如何处理数据库字段是字符串类型的情况
    一、背景项目中遇到这样的情况,存在一个数据库表,我们需要用Mybatis对这个表进行操作。其中有时间字段,但是居然类型是varchar,这样我们编写的实体类里面对应的类型必须是String?还是LocalDateTime?二、正确的处理方式实体的字段类型仍然需要是LocalDateTime,这样才能保证我们时间......
  • 2024年最新互联网大厂精选 Java 面试真题集锦(JVM、多线程、MQ、MyBatis、MySQL、Redis
    前言春招,秋招,社招,我们Java程序员的面试之路,是挺难的,过了HR,还得被技术面,在去各个厂面试的时候,经常是通宵睡不着觉,头发都脱了一大把,还好最终侥幸能够入职一个独角兽公司,安稳从事喜欢的工作至今...近期也算是抽取出大部分休息的时间,为大家准备了一份通往大厂面试的小捷径,准备......
  • 阿里旺旺gdiplus.dll报错?阿里旺旺gdiplus.dll常见错误及解决方案大放送
    针对阿里旺旺gdiplus.dll报错的问题,以下是一些常见的错误类型及其解决方案的大放送:一、gdiplus.dll文件缺失或损坏现象:阿里旺旺无法正常启动。在运行过程中出现图形界面错误、程序崩溃等问题。解决方案:重启计算机:有时,系统中的临时问题可能导致gdiplus.dll文件未正常......
  • 化繁为简,使用 ADManager Plus 简化账户生命周期管理
    在IT环境中,编排指的是对工作流、应用程序和系统的协调管理,旨在通过简化流程来优化业务性能。IT管理员可以通过编排,从单个控制台自动执行一系列任务,例如预配账户帐户、数据库管理、事件处理、应用程序和云资源管理。编排对支持分布于本地和云端的IT服务的大型工作流至关重要。......
  • ruoyi框架配置多数据源
      需求背景最近需要一个小demo,项目中需要同时连接sqlserver和mysql数据库。操作教程1、pom.xml--修改common/pom.xml<!--动态数据源--><dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <ve......
  • 【Vue3】将 Element Plus 引入 Vue3 项目
    前言在Vue3项目中使用ElementPlus可以为项目提供丰富的UI组件和交互体验。下面将介绍如何将ElementPlus引入Vue3项目中。步骤安装ElementPlus首先需要通过npm、yarn或pnpm安装ElementPlus包。可以选择其中一种方式进行安装。#NPM$npminstall......
  • MyBatis SQL映射文件
    目录SQL映射的XML文件mapper元素selectparameterTyperesultMapinsert元素update元素delete元素resultMap缓存SQL映射的XML文件MyBatis真正的强大在于映射语句,专注于SQL,功能强大,SQL映射的配置却是相当简单SQL映射文件的几个顶级元素(按照定义的顺序)mapper–......
  • 【图书介绍】《Spring+Spring MVC+MyBatis从零开始学(视频教学版)(第3版)》
    本书重点基于版本Spring 6.1.10、Spring MVC 6.1.10、MyBatis 3.5.16。详解SSM框架各组件用法及其整合方法,实战新闻发布管理系统、图书管理系统开发。配套示例源码、PPT课件、教学大纲、习题答案、教学视频。内容简介本书全面讲解使用流行轻量级框架SSM(Spring+Spring......
  • MyBatis 动态 SQL 详解
    1.什么是动态SQL?在使用MyBatis进行数据库查询时,可能会遇到一些需要根据条件动态生成SQL语句的情况。MyBatis提供了强大的动态SQL支持,通过标签和条件语句,可以让SQL语句根据不同的输入参数动态生成。这大大提高了代码的灵活性,避免了拼接SQL语句的繁琐和出错风险。......