一、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 的执行情况,同时通过数据源缓存和数据源预热功能,使得系统启动和运行都更加稳定和高效。