微服务单独配置数据源
最后更新于:2022-04-02 07:11:08
如何让某个微服务单独配置数据源
===
[小视频教程](https://www.bilibili.com/video/BV1sZ4y1G7LL?p=27)
> 第一种方案使用动态数据源方案详见 [动态数据源](http://doc.jeecg.com/2043947)
> 第二种方案是独立配置数据库连接,本文以jeecg-demo为例说明如何让jeecg-demo独立链接数据库
1. 修改nacos中jeecg-dev.yml配置,加入如下配置(目的就是让nacos中的配置不覆盖本地配置)
```
spring:
cloud:
config:
allow-override: true
override-none: true
override-system-properties: false
```
### 参数解释
* allow-override:决定override-system-properties是否启用,默认为true,false=禁用用户的配置
* override-system-properties:用来标识外部配置是否能够覆盖系统属性,默认为true;
* override-none:当allow-override和override-none同时为true,远程配置的优先级降低,不能覆盖其他配置;
2. 修改jeecg-demo模块配置文件,加入数据库连接配置如下图
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/66/ec/66ecad554e79f055c1ce4eea60da6c37_1303x802.png)
jeecg-demo模块application.yml文件示例
```
server:
port: 7002
spring:
application:
name: jeecg-demo
datasource:
druid:
stat-view-servlet:
enabled: true
url-pattern: /druid/* # 监控页面访问路径配置
loginUsername: admin
loginPassword: 123456
allow:
web-stat-filter: # web应用 监控配置
enabled: true
profile-enable: true # 能够监控单个url调用的sql列表
url-pattern: /* # 监控路径控制 eg: /admin/*
exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/vipDruid/*' # 不拦截的路径
dynamic:
druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
# 连接池的配置信息
# 初始化大小,最小,最大
initial-size: 5
min-idle: 5
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# 打开PSCache,并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall,slf4j
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource:
master:
url: jdbc:mysql://127.0.0.1:3300/jeecg-boot2?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
# 多数据源配置
```
';