文章目录

  • 1. 增加 JDBC 依赖
  • 2. 配置数据库连接
  • 3. 使用兼容的 SQL 脚本
  • 4. 代码生成器配置
  • 5. 处理 SQL 关键字问题
  • 总结

在 RuoYi-Vue-Plus 框架中,基于 mybatis-plus,框架几乎完全支持市场上主流的数据库,这使得与不同数据库的对接变得十分便捷,尤其是针对国产数据库的适配与兼容也不必担心出现大的问题。框架本身没有大量的 SQL 语句存在,因此兼容性问题大多集中在少量的 SQL 关键字上。
多数国产数据库对标并兼容主流的三大数据库系统(MySQL、Oracle、PostgreSQL),如达梦数据库兼容 Oracle,人大金仓数据库兼容 MySQL,OceanBase 也兼容 MySQL。因此,接入这些数据库变得非常简单,只需少量调整。

以 达梦 数据库为例

1. 增加 JDBC 依赖

在 RuoYi-Vue 框架中,vue 版本需要在 ruoyi-admin 模块中增加 JDBC 依赖;而 cloud 版本则需要在 ruoyi-common-mybatis 模块下添加。

<!-- 达梦数据库依赖 -->
<dependency>
    <groupId>com.dameng</groupId>
    <artifactId>DmJdbcDriver18</artifactId>
    <version>8.1.0</version>
</dependency>

2. 配置数据库连接

在 application.yml 文件中配置数据库连接信息。以达梦数据库为例:

spring:
  datasource:
    driver-class-name: dm.jdbc.driver.DmDriver
    url: jdbc:dm://127.0.0.1:5236/DMSERVER
    username: root
    password: 123456

3. 使用兼容的 SQL 脚本

RuoYi-Vue-Plus 框架自带多种 SQL 脚本,针对不同数据库可以选择相应的兼容模式。例如,达梦数据库可以直接使用 Oracle 的 SQL 脚本进行初始化。找到框架自带的 SQL 文件,执行适合达梦数据库的脚本即可。
在这里插入图片描述

4. 代码生成器配置

框架中的代码生成器支持对接多种数据库,只需引入相应的依赖即可。RuoYi-Vue-Plus 中使用了 anyline 代码生成器,它支持几百种数据库的生成,只需在项目中引入相应的依赖包。

<!-- 代码生成器 anyline 支持达梦数据库 -->
<dependency>
    <groupId>org.anyline</groupId>
    <artifactId>anyline-data-jdbc-dm</artifactId>
    <version>${anyline.version}</version>
</dependency>

配置完成后,即可生成与达梦数据库兼容的代码。

5. 处理 SQL 关键字问题

在项目启动或运行过程中,如果遇到 SQL 错误,通常是由于某些数据库关键字冲突引起的。例如,达梦数据库中的 domain 是一个保留关键字,而框架中的 SysOssConfig 表中正好使用了 domain 字段用于自定义域名存储。

为了解决这个冲突问题,只需在 SysOssConfig 实体类中的 domain 属性上添加注解,指定数据库在生成 SQL 时自动加上引号。

import com.baomidou.mybatisplus.annotation.TableField;

public class SysOssConfig {
    @TableField("`domain`")
    private String domain;
}

注意:不同数据库对关键字的处理方式可能有所不同,请根据具体情况添加适当的标识符。

总结

通过上述步骤,可以轻松将 RuoYi-Vue-Plus 与国产数据库对接。无论是增加 JDBC 依赖、配置连接信息,还是解决关键字冲突,整个过程相对简单直观。如果在项目运行过程中遇到问题,及时检查 SQL 脚本和关键字处理方式,往往可以快速解决。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐