若依 RuoYi SpringBoot 前后端分离版 配置多数据源 mysql 和 sqlserver 并集成单元测试

前言

RuoYi是一款优秀的开源框架,公司正好有个项目启动,准备使用RuoYi做底层框架,并配置多数据源 mysql和sqlserver 并集成单元测试。

一、添加sqlserver多数据源

  1. 修改 DataSourceType 类,添加多数据源枚举
package com.ruoyi.common.enums;

/**
 * 数据源
 * 
 * @author ruoyi
 */
public enum DataSourceType
{
   
   
    /**
     * 主库
     */
    MASTER,

    /**
     * 从库
     */
    SLAVE,

    /**
     * sqlserver多数据源
     */
    SQLSERVER
}
  1. ruoyi-admin的pom添加sqlserver依赖
    注意版本,这里用的 java 8 ,其他 java 版本的可以去 microsoft 官网搜下。
    <!-- sqlserver -->
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <version>7.4.1.jre8</version>
    </dependency>
  1. 修改 DruidConfig 类
    配置读取 sqlserver 数据源,注意修改driverClassName,配置文件都是一个不好修改,只好改这里。
    @Bean
    @ConfigurationProperties("spring.datasource.druid.sqlserver")
    @ConditionalOnProperty(prefix = "spring.datasource.druid.sqlserver", name = "enabled", havingValue = "true")
    public DataSource sqlserverDataSource(DruidProperties druidProperties)
    {
   
   
        DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
        dataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        return druidProperties.dataSource(dataSource);
    }
<
<think>好的,用户的问题是关于若依前后端分离本中使用SQL Server作为主数据库的配置教程。我需要结合提供的三个引用内容来回答这个问题。首先,我需要回顾每个引用中的关键信息。 引用[1]提到在ruoyi-system模块的pom.xml中添加SQL Server的驱动依赖,修改配置。引用[2]则涉及到项目工程地址一些具体的问题解决,比如修改菜单ID为自动生成。引用[3]介绍了多数据源配置单元测试的设置,特别是JUnit5的使用。用户的需求是主数据库配置,所以可能不需要多数据源的部分,但可能需要确认是否需要调整其他配置。 接下来,我需要整理步骤:首先是添加驱动依赖,然后是修改配置文件,比如application-druid.yml中的数据库连接信息。可能还需要处理数据库脚本,比如初始化表结构数据。引用[2]提到的菜单ID问题可能是常见错误,需要提醒用户注意。另外,单元测试配置虽然引用[3]提到,但用户可能暂时不需要,不过可以作为补充信息。 需要确保回答结构清晰,分步骤说明,引用正确的来源。同时,检查是否有其他潜在的问题点,比如驱动本是否兼容,或者是否有其他配置需要调整。可能还需要提醒用户检查数据库权限网络设置,确保连接成功。最后,生成相关问题,帮助用户深入理解可能遇到的问题。</think>### 若依前后端分离配置SQL Server主数据库教程 #### 一、添加SQL Server驱动依赖 1. **在`ruoyi-system`模块的`pom.xml`中添加驱动包** 需引入Microsoft SQL Server的JDBC驱动,本需与数据库服务端兼容(示例使用`7.4.1.jre8`): ```xml <!-- SqlServer驱动包 --> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>7.4.1.jre8</version> </dependency> ``` [^1] #### 二、修改数据库配置 2. **调整`application-druid.yml`文件** 在`ruoyi-admin`模块的`resources`目录下,修改数据源配置: ```yaml # 主数据源配置 master: url: jdbc:sqlserver://localhost:1433;databaseName=ry;encrypt=true;trustServerCertificate=true; username: sa password: your_password driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver ``` **注意**: - 若使用SSL加密需添加`encrypt=true;trustServerCertificate=true;` - 默认端口为`1433`,需与实际端口一致[^1]。 #### 三、数据库初始化 3. **执行SQL Server脚本** - 从若依官方SQL Server项目仓库(如[gitee.com/qu_bing/ruoyi-vue-plus-sqlserver](https://gitee.com/qu_bing/ruoyi-vue-plus-sqlserver))获取初始化脚本[^2]。 - 修正关键问题: - **菜单ID自增问题**:需将`sys_menu`表中的`menu_id`字段改为自增类型(如`IDENTITY(1,1)`)[^2]。 - 确保表结构与MySQL本一致,避免功能异常。 #### 四、验证配置 4. **集成单元测试(可选)** 使用JUnit5测试数据库连接(需确保`@SpringBootTest`指向主类): ```java @SpringBootTest(classes = RuoYiApplication.class) public class DataSourceTest { @Autowired private DataSource dataSource; @Test public void testConnection() throws SQLException { System.out.println(dataSource.getConnection()); } } ``` [^3] #### 五、常见问题 - **驱动本冲突**:若使用高本JDK(如JDK11+),需升级驱动至`mssql-jdbc 9.4.x`。 - **时区问题**:在连接URL中添加`serverTimezone=Asia/Shanghai`(若需兼容时区配置)。 - **菜单管理异常**:检查`sys_menu`表是否已启用自增主键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值