C3P0 DataSource使用步骤如下:
1. 创建Java项目,添加C3P0的jar包。(c3p0依赖commons-pool的jar包,把要需要在项目中引用这两个jar包)
2. 在src下创建c3p0-config.xml配置文件,并添加相应的配置。配置内容如下:(我使用的是Mysql数据库,如果是其它数据,请修改数据库的基本信息为相应的数据库)
<c3p0-config>
<named-config name="c3p0Test">
<!-- 数据库基本信息 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://192.168.1.101:3306/test</property>
<property name="user">root</property>
<property name="password">root</property>
<!-- 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数 Default: 3 -->
<property name="acquireIncrement">2</property>
<!-- 定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
<property name="acquireRetryAttempts">30</property>
<!-- 初始化数据库连接池的数据量 -->
<property name="initialPoolSize">5</property>
<!-- 数据库连接池的最小数据库连接数量 -->
<property name="minPoolSize">5</property>
<!-- 数据库连接池的最大数据库连接数量 -->
<property name="maxPoolSize">10</property>
<!-- 数据库连接池可以维护statement的个数-->
<property name="maxStatements">10</property>
<!-- 每个连接可以同时使用的statement个数 -->
<property name="maxStatementsPerConnection">5</property>
</named-config>
</c3p0-config>
3. 创建ComboPooledDataSource 实例:
DataSource cpds = new ComboPooledDataSource("c3p0Test"); 通过cpds可以获取数据库连接。
具体代码如下:
public class DBTools {
private static DataSource dataSource=null;
static {
dataSource=new ComboPooledDataSource("c3p0Test");
}
public static Connection getConnection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
//JUnit单元测试代码如下:
@Test
public void getDataSourceC3P0Test(){
System.out.println(DBTools.getConnection());
}
}
4.编写JUnit单元测试类进行验证。可以看到控制台中输出如下信息:
5. 就可以在项目中使用了,如果需要可能再修改c3p0-config.xml文件,配置连接池的相关信息。