Преглед изворни кода

docs 📝 readme中补充多数据源配置指南

dynamicDs
施海荣 пре 1 година
родитељ
комит
1610c6bf8e
2 измењених фајлова са 50 додато и 13 уклоњено
  1. +38
    -1
      README.md
  2. +12
    -12
      ym-gateway/src/main/resources/application-dev.yml

+ 38
- 1
README.md Прегледај датотеку

@@ -26,4 +26,41 @@
- Maven3.0+
- MySQL8.0
- redis6.0+
<br>
<br>

## 多数据源配置指南
1. 在你需要用到多数据源的项目/模块中引入多数据源jar包的maven依赖
```xml
<dependency>
<groupId>com.cnbm</groupId>
<artifactId>ym-dynamic-datasource</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```

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`

+ 12
- 12
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
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

Loading…
Откажи
Сачувај