您的位置:

阿里Druid参数配置详解

一、Druid参数配置详解

阿里 Druid 是一个开源的数据库连接池组件,它结合了传统的数据库连接池和 JDBC 3.0 规范的一些特性。Druid 支持 Jdbc 和 Oracle,它提供了高可用、高性能、可扩展性好的数据库连接池解决方案,并且可以做到一些比较实用的统计信息、SQL 防注入、日志等功能。

Druid配置项相对比较多,这里重点介绍一些常用配置项:

二、Druid参数配置SQL提交

Druid 提供了两种 SQL 解析器(Parser),可以在参数 ‘druid.parser.impl’ 中配置使用哪一种,分别是:

// 默认使用 SQL92 解析器
druid.parser.impl=com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser
// 使用 Oracle 解析器
druid.parser.impl=com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser

三、Druid数据库连接池配置

与其他的数据库连接池一样,阿里Druid 也要做一些连接池的相关配置。以下是一些常用的连接池配置项:

// 数据库 URL,根据实际情况设置
spring.datasource.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
// 数据库账号名
spring.datasource.username=root
// 数据库账号密码
spring.datasource.password=root
// 数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
// 初始化时建立物理连接的个数
spring.datasource.initialSize=5
// 最大连接池数量
spring.datasource.maxActive=100
// 最小连接池数量
spring.datasource.minIdle=1
// 获取连接时最大等待时间,单位毫秒
spring.datasource.maxWait=10000
// 配置检查数据库连接的有效性,默认为 true
spring.datasource.testOnBorrow=true

四、Druid Filter参数配置

Druid 是通过 Filter 定义监控拦截器,指定一系列信息的,以下是 Filter 相关的配置项:

// 连接是否默认自动提交,如果不配置或者为空,则 Druid 不自动提交
spring.datasource.defaultAutoCommit=
// 监控统计拦截的类名,默认是 Druid 提供的 StatFilter
spring.datasource.filters=stat
// 慢查询日志的时间阈值,这里设置为 3s
spring.datasource.connectionProperties=druid.stat.slowSqlMillis=3000

五、Druid连接池配置详解

以下是一些更全面的 Druid 连接池配置项:

// 用来检测连接是否有效的 SQL,要求是一个查询语句,常用 select 'x'
spring.datasource.validationQuery=SELECT 1 FROM DUAL
// 是否默认从读库查询
spring.datasource.defaultReadOnly=false
// 数据库密码加密,一种加密后的字符串
spring.datasource.connectionProperties=config.decrypt=true
spring.datasource.password=ENC(加密后的字符串)
// 连接池执行 jdbc 相关任务的超时时间(单位:毫秒),如等待连接池分配连接、等待获取连接和执行语句的超时时间等
spring.datasource.maxWaitThreadCount=10
spring.datasource.timeBetweenLogStatsMillis=300000
sprin.datasource.secure=true

六、Druid连接池是什么

Druid 连接池是一种开源的、高性能的、功能丰富的 JDBC 连接池实现。Druid 连接池与其他连接池的区别在于它可以监控 SQL 的执行情况,同时通过数据源缓存和数据源预热功能,使得系统启动和运行都更加稳定和高效。