Commit a1b7697eb39be26351b7a9f5c5ecd9f21249037f
1 parent
8a9c7145
完成多数据源配置
Showing
4 changed files
with
93 additions
and
15 deletions
pom.xml
| @@ -46,6 +46,7 @@ | @@ -46,6 +46,7 @@ | ||
| 46 | <easyexcel.verion>2.2.7</easyexcel.verion> | 46 | <easyexcel.verion>2.2.7</easyexcel.verion> |
| 47 | <velocity.version>2.2</velocity.version> | 47 | <velocity.version>2.2</velocity.version> |
| 48 | <screw.version>1.0.5</screw.version> | 48 | <screw.version>1.0.5</screw.version> |
| 49 | + <dynamic-datasource.version>3.3.2</dynamic-datasource.version> | ||
| 49 | </properties> | 50 | </properties> |
| 50 | 51 | ||
| 51 | <!-- 依赖声明 --> | 52 | <!-- 依赖声明 --> |
| @@ -271,6 +272,14 @@ | @@ -271,6 +272,14 @@ | ||
| 271 | <version>${screw.version}</version> | 272 | <version>${screw.version}</version> |
| 272 | </dependency> | 273 | </dependency> |
| 273 | 274 | ||
| 275 | + <!-- 多数据源 --> | ||
| 276 | + <dependency> | ||
| 277 | + <groupId>com.baomidou</groupId> | ||
| 278 | + <artifactId>dynamic-datasource-spring-boot-starter</artifactId> | ||
| 279 | + <version>${dynamic-datasource.version}</version> | ||
| 280 | + </dependency> | ||
| 281 | + | ||
| 282 | + | ||
| 274 | </dependencies> | 283 | </dependencies> |
| 275 | 284 | ||
| 276 | 285 |
src/main/java/cn/iocoder/dashboard/framework/datasource/enums/DatasourceMark.java
0 → 100644
src/main/resources/application-dev.yaml
| @@ -4,13 +4,11 @@ server: | @@ -4,13 +4,11 @@ server: | ||
| 4 | --- #################### 数据库相关配置 #################### | 4 | --- #################### 数据库相关配置 #################### |
| 5 | 5 | ||
| 6 | spring: | 6 | spring: |
| 7 | - # 数据源配置项 TODO 多数据源;TODO 监控配置 | 7 | + # 数据源配置项 TODO 监控配置 |
| 8 | + # 排除默认的自动配置,使用dynamic-datasource-spring-boot-starter配置多数据源,整合druid | ||
| 9 | + autoconfigure: | ||
| 10 | + exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure | ||
| 8 | datasource: | 11 | datasource: |
| 9 | - name: ruoyi-vue-pro | ||
| 10 | - url: jdbc:mysql://400-infra.server.iocoder.cn:3306/${spring.datasource.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT | ||
| 11 | - driver-class-name: com.mysql.jdbc.Driver | ||
| 12 | - username: root | ||
| 13 | - password: 3WLiVUBEwTbvAfsh | ||
| 14 | druid: | 12 | druid: |
| 15 | web-stat-filter: | 13 | web-stat-filter: |
| 16 | enabled: true | 14 | enabled: true |
| @@ -32,6 +30,34 @@ spring: | @@ -32,6 +30,34 @@ spring: | ||
| 32 | wall: | 30 | wall: |
| 33 | config: | 31 | config: |
| 34 | multi-statement-allow: true | 32 | multi-statement-allow: true |
| 33 | + dynamic: | ||
| 34 | + # druid全局配置 https://dynamic-datasource.com/en/guide/integration/Druid.html#configurate-parameters | ||
| 35 | +# druid: #The following are the supported global parameters | ||
| 36 | +# initial-size: | ||
| 37 | +# max-active: | ||
| 38 | +# min-idle: | ||
| 39 | +# max-wait: | ||
| 40 | + primary: master | ||
| 41 | + datasource: | ||
| 42 | + master: | ||
| 43 | + name: ruoyi-vue-pro | ||
| 44 | + url: jdbc:mysql://400-infra.server.iocoder.cn:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT | ||
| 45 | + driver-class-name: com.mysql.jdbc.Driver | ||
| 46 | + username: root | ||
| 47 | + password: 3WLiVUBEwTbvAfsh | ||
| 48 | + # druid 局部配置 | ||
| 49 | +# druid: # The following are independent parameters that can be reset for each db | ||
| 50 | +# validation-query: select 1 FROM DUAL #such as oracle need this | ||
| 51 | +# slave: | ||
| 52 | +# name: ruoyi-vue-pro-slave | ||
| 53 | +# url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT | ||
| 54 | +# driver-class-name: com.mysql.jdbc.Driver | ||
| 55 | +# username: root | ||
| 56 | +# password: 123456 | ||
| 57 | + | ||
| 58 | + | ||
| 59 | + | ||
| 60 | + | ||
| 35 | 61 | ||
| 36 | # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 | 62 | # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 |
| 37 | redis: | 63 | redis: |
src/main/resources/application-local.yaml
| @@ -4,13 +4,11 @@ server: | @@ -4,13 +4,11 @@ server: | ||
| 4 | --- #################### 数据库相关配置 #################### | 4 | --- #################### 数据库相关配置 #################### |
| 5 | 5 | ||
| 6 | spring: | 6 | spring: |
| 7 | - # 数据源配置项 TODO 多数据源;TODO 监控配置 | 7 | + # 数据源配置项 TODO 监控配置 |
| 8 | + # 排除默认的自动配置,使用dynamic-datasource-spring-boot-starter配置多数据源,整合druid | ||
| 9 | + autoconfigure: | ||
| 10 | + exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure | ||
| 8 | datasource: | 11 | datasource: |
| 9 | - name: ruoyi-vue-pro | ||
| 10 | - url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT | ||
| 11 | - driver-class-name: com.mysql.jdbc.Driver | ||
| 12 | - username: root | ||
| 13 | - password: 123456 | ||
| 14 | druid: | 12 | druid: |
| 15 | web-stat-filter: | 13 | web-stat-filter: |
| 16 | enabled: true | 14 | enabled: true |
| @@ -32,6 +30,32 @@ spring: | @@ -32,6 +30,32 @@ spring: | ||
| 32 | wall: | 30 | wall: |
| 33 | config: | 31 | config: |
| 34 | multi-statement-allow: true | 32 | multi-statement-allow: true |
| 33 | + dynamic: | ||
| 34 | + # druid全局配置 https://dynamic-datasource.com/en/guide/integration/Druid.html#configurate-parameters | ||
| 35 | +# druid: #The following are the supported global parameters | ||
| 36 | +# initial-size: | ||
| 37 | +# max-active: | ||
| 38 | +# min-idle: | ||
| 39 | +# max-wait: | ||
| 40 | + primary: master | ||
| 41 | + datasource: | ||
| 42 | + master: | ||
| 43 | + name: ruoyi-vue-pro | ||
| 44 | + url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.master.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT | ||
| 45 | + driver-class-name: com.mysql.jdbc.Driver | ||
| 46 | + username: root | ||
| 47 | + password: 123456 | ||
| 48 | + # druid 局部配置 | ||
| 49 | +# druid: # The following are independent parameters that can be reset for each db | ||
| 50 | +# validation-query: select 1 FROM DUAL #such as oracle need this | ||
| 51 | +# slave: | ||
| 52 | +# name: ruoyi-vue-pro-slave | ||
| 53 | +# url: jdbc:mysql://127.0.0.1:3306/${spring.datasource.dynamic.datasource.slave.name}?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=CTT | ||
| 54 | +# driver-class-name: com.mysql.jdbc.Driver | ||
| 55 | +# username: root | ||
| 56 | +# password: 123456 | ||
| 57 | + | ||
| 58 | + | ||
| 35 | 59 | ||
| 36 | # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 | 60 | # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 |
| 37 | redis: | 61 | redis: |
| @@ -77,9 +101,9 @@ apollo: | @@ -77,9 +101,9 @@ apollo: | ||
| 77 | eagerLoad: | 101 | eagerLoad: |
| 78 | enabled: true # 设置 Apollo 在日志初始化前生效,可以实现日志的动态级别配置 | 102 | enabled: true # 设置 Apollo 在日志初始化前生效,可以实现日志的动态级别配置 |
| 79 | jdbc: # 自定义的 JDBC 配置项,用于数据库的地址 | 103 | jdbc: # 自定义的 JDBC 配置项,用于数据库的地址 |
| 80 | - url: ${spring.datasource.url} | ||
| 81 | - username: ${spring.datasource.username} | ||
| 82 | - password: ${spring.datasource.password} | 104 | + url: ${spring.datasource.dynamic.datasource.master.url} |
| 105 | + username: ${spring.datasource.dynamic.datasource.master.username} | ||
| 106 | + password: ${spring.datasource.dynamic.datasource.master.password} | ||
| 83 | 107 | ||
| 84 | --- #################### 服务保障相关配置 #################### | 108 | --- #################### 服务保障相关配置 #################### |
| 85 | 109 | ||
| @@ -161,3 +185,11 @@ yudao: | @@ -161,3 +185,11 @@ yudao: | ||
| 161 | exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系 | 185 | exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系 |
| 162 | - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求 | 186 | - ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求 |
| 163 | - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求 | 187 | - ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求 |
| 188 | + | ||
| 189 | + | ||
| 190 | + | ||
| 191 | + | ||
| 192 | + | ||
| 193 | + | ||
| 194 | + | ||
| 195 | + |