# TestDynamicDatasource **Repository Path**: mika-7/TestDynamicDatasource ## Basic Information - **Project Name**: TestDynamicDatasource - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-30 - **Last Updated**: 2023-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TestDynamicDatasource #### 介绍 多数据源配置,动态切换数据源,可同时操作两个数据库。目前有两个数据源,一个是 MySQL 数据库,另外一个是 SQL Server 数据库。 ##### 使用 ###### 导入依赖 `pom.xml` 文件中,必须的依赖说明: - dynamic-datasource-spring-boot-starter 是 Mybatis-Plus 的动态数据源 - mssql-jdbc 是 sql-server 驱动 - mysql-connector-j 是 mysql 驱动 ```pom com.baomidou dynamic-datasource-spring-boot-starter 3.1.1 com.microsoft.sqlserver mssql-jdbc runtime com.mysql mysql-connector-j runtime ``` 配置 `application-dev.yml` 文件的配置项 ```yml spring: datasource: dynamic: datasource: # MySQL mysql: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/jpa username: root password: root # SQL-Server sqlserver: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://localhost:1433;Database=TEST username: sa password: root # 严格模式 strict: false # 主数据源 primary: mysql ``` ###### 注解 注解 @DS 用于指定数据库,可以放在类或方法上,使用时,其中传值为数据库名。如:@DS("databaseName"),下面是一个例子,在 ClientRegMapper.java 中编写 ```java @Mapper @DS("sqlserver") // 本地 sqlserver 数据库 public interface ClientRegMapper { @Select("SELECT * FROM dbo.ClientReg") List> getClientRegList(); } ```