C3P0连接池
C3P0是一个开源的JDBC连接池,它实现了数据源和JNID绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。
使用
1、 拷贝jar 文件 c3p0-0.9.1.2.jar
2、不使用配置文件方式
Connection conn = null;
PreparedStatement ps = null;
try {
//1. 创建datasource
ComboPooledDataSource dataSource = new ComboPooledDataSource();
//2. 设置连接数据的信息
dataSource.setDriverClass("com.mysql.jdbc.Driver");
//忘记了---> 去以前的代码 ---> jdbc的文档
dataSource.setJdbcUrl("jdbc:mysql://localhost/bank");
dataSource.setUser("root");
dataSource.setPassword("root");
//2. 得到连接对象
conn = dataSource.getConnection();
String sql = "insert into account values(null , ? , ?)";
ps = conn.prepareStatement(sql);
ps.setString(1, "admi234n");
ps.setInt(2, 103200);
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
JDBCUtil.release(conn, ps);
}
3、使用配置文件方式
c3p0的配置文件 支持 properties , 也支持 xml 方式。 不过开发中,一般使用xml方式来配置
1)src下, 创建xml文件,名为:c3p0-config.xml 注意此处,名字需要固定了。
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost/user</property>
<property name="user">root</property>
<property name="password">root</property>
<!-- 可选配置 -->
<property name="initialPoolSize">5</property>
</default-config>
</c3p0-config>
2)代码中获取连接child对象
@Test
public void testC3P0() {
Connection conn = null;
PreparedStatement ps = null;
try {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
conn = dataSource.getConnection();
String sql = "insert into account values(null,?,?)";
ps = conn.prepareStatement(sql);
ps.setString(1,"liangchaowei");
ps.setInt(2, 1500);
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}