From 1610c6bf8e3d472e07b3e6e3660bdb4ab524b7cb Mon Sep 17 00:00:00 2001 From: thomas Date: Wed, 15 Feb 2023 10:01:35 +0800 Subject: [PATCH] =?UTF-8?q?docs=20:memo:=20readme=E4=B8=AD=E8=A1=A5?= =?UTF-8?q?=E5=85=85=E5=A4=9A=E6=95=B0=E6=8D=AE=E6=BA=90=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=8C=87=E5=8D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 39 ++++++++++++++++++- .../src/main/resources/application-dev.yml | 24 ++++++------ 2 files changed, 50 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 185a4bd..5f9621e 100644 --- a/README.md +++ b/README.md @@ -26,4 +26,41 @@ - Maven3.0+ - MySQL8.0 - redis6.0+ -
\ No newline at end of file +
+ +## 多数据源配置指南 +1. 在你需要用到多数据源的项目/模块中引入多数据源jar包的maven依赖 +```xml + + com.cnbm + ym-dynamic-datasource + 1.0-SNAPSHOT + +``` + +2. 配置文件中,配置多数据源,注意必须以`dynamic.datasource`作为前缀,如下(slave1,slave2可以自己随意命名,数据源不限于2个): +```yml +dynamic: + datasource: + slave1: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true + username: xxx + password: xxx + slave2: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/myysql?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true + username: xxx + password: xxx +``` + +3. 在service实现中,需要指定数据源的方法上面添加注解,比如,在login这个方法调用时,指定用`slave1`这个数据源 +```java +@DataSource("slave1") +public Result login(HttpServletRequest request, LoginParam loginParam) { + ...... +} +``` + +4. 验证 +可以在日志中看到类似输出:`set datasource is slave1` \ No newline at end of file diff --git a/ym-gateway/src/main/resources/application-dev.yml b/ym-gateway/src/main/resources/application-dev.yml index f0a72bd..0ec2472 100644 --- a/ym-gateway/src/main/resources/application-dev.yml +++ b/ym-gateway/src/main/resources/application-dev.yml @@ -52,15 +52,15 @@ spring: # maximum-pool-size: 10 ##多数据源的配置,需要引用renren-dynamic-datasource -#dynamic: -# datasource: -# slave1: -# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver -# url: jdbc:sqlserver://123456:1433;DatabaseName=renren_security -# username: sa -# password: 123456 -# slave2: -# driver-class-name: org.postgresql.Driver -# url: jdbc:postgresql://123456:5432/renren_security -# username: postgres -# password: 123456 \ No newline at end of file +dynamic: + datasource: + slave1: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://mysql.picaiba.com:30307/spc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true + username: root + password: 1qaz@WSX3edc$RFV + slave2: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://mysql.picaiba.com:30307/spc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true + username: root + password: 1qaz@WSX3edc$RFV \ No newline at end of file