JDBC连接池Druid,C3P0(入门使用并附jar包)

前言:

本文介绍JDBC中常见的几种连接池jar包使用 C3P0、Druid、HikariCP 、DBCP

初学者在学习连接池的时候很少用maven项目添加依赖,下面介绍的都是原始

的jar包使用,配置文件放src路径下

1,什么是连接池?连接池的作用

连接池是一种用于管理数据库连接的技术,它具有以下好处:

1,提高性能:连接池可以重复使用已经建立的数据库连接,避免了每次请求都需要重新建立连接的开销。这样可以减少连接的创建和销毁次数,提高了数据库操作的效率。

2,节省资源:连接池可以控制同时存在的数据库连接数量,避免了过多的连接占用系统资源,提高了系统的稳定性和可靠性。

3,提升并发能力:连接池可以管理多个数据库连接,使得多个请求可以同时进行数据库操作,提高了系统的并发能力。

4,降低系统压力:连接池可以对数据库连接进行管理和监控,可以检测到连接的空闲时间和超时时间,及时释放无用的连接,避免了因为连接过多而导致系统崩溃或性能下降的问题。

5,提供连接的复用:连接池可以将连接分配给不同的请求,实现连接的复用,减少了连接的创建和销毁的次数,提高了系统的性能和效率。

总的来说,使用连接池可以提高系统的性能、稳定性和并发能力,节省系统资源,降低系统压力,提高数据库操作的效率
:

2, Druid连接池

德鲁伊jar下载博主使用的是1.2.0版本

repo1.maven.org/maven2/com/alibaba/druid/

添加配置文件文件名不固定

🌸 配置文件


driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/java001?useServerPrepStmts=true
username=root
password=root
initialSize=10  # 启始连接数
maxActive=30	# 最大连接数
maxIdle=500     # 最大空闲时间
maxWait=1000    # 最大等待时间

:

🌸测试

@Test
public void testDruid() throws Exception {
    // 创建配置文件对象
    Properties properties = new Properties();
    // 创建一个文件输入流指向配置文件
    FileInputStream inputStream = new FileInputStream("src\\jdbc.properties");
    // 加载配置文件
    properties.load(inputStream);
    // 工厂包装类创建数据源
    DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
    System.out.println(dataSource.getConnection());
}

;

3,C3P0连接池

下载地址:
https://sourceforge.net/projects/c3p0/

🌸 配置文件


<c3p0-config>
    <!--使用默认的配置读取数据库连接池对象 -->
    <default-config>
        <!--  连接参数 -->
        <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/java001?useServerPrepStmts=true</property>
        <property name="user">root</property>
        <property name="password">root</property>

        <!-- 连接池参数 -->
        <!--初始化申请的连接数量-->
        <property name="initialPoolSize">5</property>
        <!--最大的连接数量-->
        <property name="maxPoolSize">10</property>
        <!--超时时间-->
        <property name="checkoutTimeout">3000</property>
    </default-config>

    <named-config name="otherc3p0">
        <!--  连接参数 -->
        <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/java001?useServerPrepStmts=true</property>
        <property name="user">root</property>
        <property name="password">root</property>

        <!-- 连接池参数 -->
        <property name="initialPoolSize">5</property>
        <property name="maxPoolSize">8</property>
        <property name="checkoutTimeout">1000</property>
    </named-config>
</c3p0-config>

:

🌸测试

   
@Test
public void testC3p0() throws SQLException {
    // 使用named-config命名的配置,默认不用传入
    ComboPooledDataSource comboPooledDataSource =
            new ComboPooledDataSource("otherC3p0");
    Connection connection = comboPooledDataSource.getConnection();
    System.out.println(connection);
}


:
OK,以上就是JDBC连接池Druid,C3P0的全部内容了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值