datasource:
druid:
stat-view-servlet:
enabled: true
loginUsername: admin
loginPassword: 123456
dynamic:
druid:
initial-size: 5
min-idle: 5
maxActive: 20
maxWait: 60000
connectTimeout: 30000
socketTimeout: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
filters: stat,slf4j
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource:
# 主库数据源
master:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ruoyi-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: xxxx
用于配置Druid连接池在Spring Boot项目中的使用,具体用于连接数据库。Druid是Alibaba开源的数据库连接池,被广泛用于Java应用程序中,因为它提供了强大的监控和扩展功能。
stat-view-servlet 配置
enabled: true
:启用Druid的StatViewServlet,这是Druid提供的一个特性,允许你通过Web页面查看数据库连接池的状态和SQL查询的统计。loginUsername: admin
和loginPassword: 123456
:设置登录Druid监控页面的用户名和密码。
dynamic”这个词可能指的是对多数据源的动态配置支持。这种情况下,“dynamic”并不是指某个特定的技术或者框架,而是表明这部分配置是用来动态管理和配置多个数据源的。 这种动态数据源的配置方式在多数据源管理、读写分离、多租户系统等复杂场景下非常有用。它允许开发者在运行时根据业务逻辑需要选择合适的数据源,而不需要改变代码,只需要通过配置来实现。
dynamic.druid 配置
initial-size: 5
:连接池启动时创建的初始化连接数量。min-idle: 5
:连接池中最少保留的空闲连接数量。maxActive: 20
:连接池中最大的连接数。maxWait: 60000
:获取连接时的最大等待毫秒数,配置了60秒。connectTimeout: 30000
和socketTimeout: 60000
:分别设置连接超时和socket读写超时的时间,以毫秒为单位。timeBetweenEvictionRunsMillis: 60000
:配置了在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位。minEvictableIdleTimeMillis: 300000
:连接在池中保持空闲而不被驱逐的最小时间值。validationQuery: SELECT 1 FROM DUAL
:用于检测连接是否有效的SQL查询。testWhileIdle: true
、testOnBorrow: false
和testOnReturn: false
:配置检测连接有效性的策略,分别在空闲时检测、借用时不检测、返回时不检测。poolPreparedStatements: true
和maxPoolPreparedStatementPerConnectionSize: 20
:开启池的PreparedStatement(PSCache)并设置每个连接上PSCache的大小。filters: stat,slf4j
:配置监控统计和日志的过滤器。connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
:配置连接属性,启用SQL合并和慢查询日志的阈值。
dynamic.datasource 配置
接下来的配置定义了如何连接到具体的数据库实例,这里只列出了“主库数据源”(master)的配置:
driver-class-name: com.mysql.cj.jdbc.Driver
:MySQL的JDBC驱动类。url: jdbc:mysql://localhost:3306/ruoyi-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
:数据库的JDBC连接URL,包含了数据库地址、端口、数据库名以及一些连接参数。username: root
和password: xxxx
:数据库的用户名和密码。