【RuoYi-SpringBoot3-Pro】:想要什么数据库都有!三步教你轻松添加新支持

RuoYi-SpringBoot3-Pro[1] 已经提供了对MySQL、PostgreSQL、达梦、瀚高、高斯数据库的支持,但是还有很多其他的数据库,这里介绍下如何添加新的数据库

相关文章

【RuoYi-SpringBoot3-Pro】:多数据库支持,再也不用为数据库选型烦恼了
【RuoYi-SpringBoot3-Pro】:使用 Dify + AI 快速生成多数据库建表语句

上述两篇文章介绍了多数据库支持和AI表生成。没看的小伙伴可以先看下。

初始化SQL脚本

原生的 MyBatis 改造

  1. 1. ruoyi-framework\src\main\java\com\ruoyi\framework\config\MyBatisConfig.java 文件中,修改 databaseIdProvider 方法,添加新数据库的配置。

    
    
    
   @Bean
    public
 DatabaseIdProvider databaseIdProvider() {
        DatabaseIdProvider
 databaseIdProvider = new VendorDatabaseIdProvider();
        Properties
 p = new Properties();
        p.setProperty("MySQL", "mysql");
        p.setProperty("PostgreSQL", "pgsql");
        p.setProperty("Highgo", "hg");
        p.setProperty("DM DBMS", "dm");
        databaseIdProvider.setProperties(p);

        return
 databaseIdProvider;
    }
  1. 2. XML 文件中,支持新数据库的语法。示例:

    
    
    
  <!-- ruoyi-system\src\main\resources\mapper\system\SysUserMapper.xml -->
<choose>

            <when test="'pgsql' == _databaseId || 'hg' == _databaseId">

                '${deptId}' = ANY (string_to_array(ancestors, ','))
            </when>

            <!-- 金仓数据库 -->

            <when test="'jincang' == _databaseId">

               <!--  金仓数据库的语法 -->

            </when>

            <otherwise>

                find_in_set(#{deptId}, ancestors)
            </otherwise>

        </choose>

新增 Dify 建表智能体

  1. 1. 添加新的数据库
  1. 2. 条件分支添加新的数据库分支
  1. 3. 添加新的 LLM 节点,参照其他节点修改 system 提示词

至此,从系统改造到AI建表智能体生成就已完成。

引用链接

[1] RuoYi-SpringBoot3-Pro: GitHub:https://github.com/undsky/RuoYi-SpringBoot3-Pro