Jdbc中连接池环境的配置—— c3p0连接池jar包

本文详细介绍了如何在Java项目中配置和使用C3P0连接池,包括将cp30.jar包添加到项目库,设置cp30.xml配置文件,以及通过代码示例展示如何初始化数据源并获取数据库连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备的文件(标红的是需要准备的文件)cp30连接池jar包放入了我的百度网盘Java包下:

在这里插入图片描述

工程目录样式

在这里插入图片描述

File文件中Project Structure中的Libraries添加红框里面的

在这里插入图片描述

File文件中Project Structure中的Mdules勾选这三个内容

在这里插入图片描述

修改cp30.xml文件(代码如下)
<?xml version="1.0" encoding="UTF-8"?>
      <!--
        c3p0-config.xml必须位于类路径下面
        private static ComboPooledDataSource ds;
        static{
            try {
                ds = new ComboPooledDataSource("MySQL");
            } catch (Exception e) {
                throw new ExceptionInInitializerError(e);
            }
        }
        -->

<c3p0-config>
<!--
C3P0的缺省(默认)配置,
如果在代码中“ComboPooledDataSource ds = new ComboPooledDataSource();”这样写就表示使用的是C3P0的缺省(默认)配置信息来创建数据源
-->
<default-config>
   <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
   <property name="jdbcUrl">jdbc:mysql://localhost:3306/db1?allowPublicKeyRetrieval=true&amp;serverTimezone=UTC</property>
   <property name="user">root</property>
   <property name="password">123321</property>

   <property name="acquireIncrement">5</property>
   <property name="initialPoolSize">10</property>
   <property name="minPoolSize">5</property>
   <property name="maxPoolSize">20</property>
</default-config>

<!--
C3P0的命名配置,
如果在代码中“ComboPooledDataSource ds = new ComboPooledDataSource("MySQL");”这样写就表示使用的是name是MySQL的配置信息来创建数据源
-->
<named-config name="MySQL">
   <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
   <property name="jdbcUrl">jdbc:mysql://localhost:3306/db1?allowPublicKeyRetrieval=true&amp;serverTimezone=UTC</property>
   <property name="user">root</property>
   <property name="password">123321</property>

   <property name="acquireIncrement">5</property>
   <property name="initialPoolSize">10</property>
   <property name="minPoolSize">5</property>
   <property name="maxPoolSize">20</property>
</named-config>

</c3p0-config>
修改的地方

在这里插入图片描述

需要的两个.class文件和代码(其实就是昨天封装好了的数据库加载驱动获取连接的地方换了种方式)

在这里插入图片描述

代码
package a.c3p0;

import com.mchange.v2.c3p0.ComboPooledDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcUtile_3p0 {
    //定义连接池
    private static DataSource ds = null;
    //获取连接
    static {
//       ds = new ComboPooledDataSource(;//使用默认的配置
        //使用自动的配置
        ds = new ComboPooledDataSource("MySQL");
    }
    // 获取连接
    public static Connection getConnection(){
        // 从c3p0连接池中获取连接
        Connection connection = null;
        try {

            connection = ds.getConnection();
        } catch (SQLException e) {
            System.out.println("获取c3p0连接池失败。。。。。。。。。");
            e.printStackTrace();
        }
        return connection;
    }

    // 关闭资源
    public static void colse(Connection connection, Statement statement) {
        if (connection != null){
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
                System.out.println("连接关闭出现异常。。。。。。");
            }
        }

        if (statement != null){
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
                System.out.println("关闭执行对象出现异常。。。。。。。");
            }
        }
    }

}
---------------------------------------这里是文件分割线条----------------------------
package a.c3p0;

import java.sql.Connection;

public class C30poTest {
    public static void main(String[] args) {
        Connection connection = JdbcUtile_3p0.getConnection();
        System.out.println(connection);
    }
}

运行结果:

在这里插入图片描述

注意

这里使用的工程是舒老师的工程而不是雷老师空工程,否则回找不到cp30.xml文件,文件路径问题。以下是舒老师的新建工程的方法
1)
在这里插入图片描述
2)

在这里插入图片描述

3)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值