实际开发,将C3P0的配置信息定义在xml文件中,java程序只需要加载配置文件即可完成数据库连接池的初始化操作。
配置文件不能变,必须是c3p0-config.xml。初始化 ComboPooledDataSource时,传入的参数必须是c3p0-config.xml中name-config标签的name属性。
c3p0-config.xml
<?xml version="1.0" encoding="utf-8"?>
<c3p0-config>
<default-config name = "testc3p0">
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property>
<property name="user">root</property>
<property name="password">123456</property>
<!-- 设置初始化连接个数 -->
<property name="initialPoolSize">20</property>
<!-- 设置最大连接数 -->
<property name="maxPoolSize">40</property>
<!-- 设置最小连接数 -->
<property name="minPoolSize">2</property>
<property name="checkoutTimeout">3000</property>
</default-config>
<named-config name="otherc3p0">
</named-config>
</c3p0-config>
DataSourceTest.java
ComboPooledDataSource dataSource = new ComboPooledDataSource("testc3p0");
try {
Connection connection = dataSource.getConnection();
System.out.println(connection);
//还回到数据库连接池中
connection.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}