开发喵星球

RuoYi-Vue-Plus 对接国产数据库指南(335)

RuoYi-Vue-Plus 框架中,基于 mybatis-plus,框架几乎完全支持市场上主流的数据库,这使得与不同数据库的对接变得十分便捷,尤其是针对国产数据库的适配与兼容也不必担心出现大的问题。框架本身没有大量的 SQL 语句存在,因此兼容性问题大多集中在少量的 SQL 关键字上。

多数国产数据库对标并兼容主流的三大数据库系统(MySQLOraclePostgreSQL),如达梦数据库兼容 Oracle,人大金仓数据库兼容 MySQLOceanBase 也兼容 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 脚本和关键字处理方式,往往可以快速解决。

   
分类:Java/OOP 作者:无限繁荣, 吴蓉 发表于:2024-09-19 14:55:32 阅读量:182
<<   >>


powered by kaifamiao