# 动态数据源配置手册

### 步骤

1. 项目pom文件添加多数据源主键wisdom-ds

   ```xml
   <dependency>
   	<groupId>com.wisdom</groupId>
   	<artifactId>wisdom-ds</artifactId>
   </dependency>
   ```

2. application.properties文件添加多数据源列表读取数据库地址

   ```properties
   custom.datasource.driverClassName=com.alibaba.druid.pool.DruidDataSource
   custom.datasource.url=jdbc:mysql://${MYSQL_HOST:139.159.229.250}:${MYSQL_PORT:3306}/wisdom_platform?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
   custom.datasource.username=root
   custom.datasource.password=ENC(dNVe4EKTSvOgtuhPntjVQe74EFrCQLQv)
   ```

3. application.properties文件添加org.springframework.boot.autoconfigure.EnableAutoConfiguration配置

   ```properties
   org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.wisdom.ds.config.DynamicDataSourceAutoConfiguration
   ```

4. 项目Application入口添加以下配置

   ```java
   @ComponentScan({"com.wisdom.ds"})
   @SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class})
   ```

5. 项目的Controller类由继承```BaseController```更换为```DsBaseController```

6. 定时任务需要把任务抽象出来，并继承```DsSchedule```，实现```job()```方法，里面就是任务执行内容。然后执行```dsScheduleStart()```方法执行任务。

   

   **<font color=red>```注：目前还没有解决quartz集成动态数据源的问题！```</font>**

   ### Done！