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