druid1.2.8源码阅读:第三天

本文深入探讨Druid1.2.8的源码,主要关注数据库连接的创建过程,包括参数校验、数据库驱动加载、连接池初始化等方面。详细讲解了如maxActive、minIdle等关键配置的作用,以及如何根据URL确定数据库类型。此外,还介绍了在特定条件下,如何加载和选择合适的数据库驱动。
摘要由CSDN通过智能技术生成

druid1.2.8源码阅读:第三天

一、创建连接

Connection connection = dataSource.getConnection();

在druid中,实际获取的是DruidPooledConnection

1.1 init()方法

如果连接池已经初始化了,直接返回:

if (inited) {
   
    return;
}

加载数据库驱动:

根据传入的url判断,去加载哪种数据库驱动。

(1)JdbcUtils.getDbType

根据URL的前缀获取数据类型:比如DbType.mysql,“mysql”

if (this.dbTypeName == null || this.dbTypeName.length() == 0) {
   
    this.dbTypeName = JdbcUtils.getDbType(jdbcUrl, null);
}
(2)根据DbType设置cacheServerConfiguration

对于部分数据库,可以设置这个配置

            if (dbType == DbType.mysql
                    || dbType == DbType.mariadb
                    || dbType == DbType.oceanbase
                    || dbType == DbType.ads) {
   
                boolean cacheServerConfigurationSet 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值