Connection对象的创建和销毁时比较消耗系统资源的,为了减少Connection对象的创建和销毁,需要数据库连接池。
原理:在连接池中投放一定量的连接对象,连接对象使用后不会进行销毁,而是直接放入连接池,闲置的连接对象可以被反复使用。
这里要用到C3P0。
拷贝c3p0、mchange两个jar包,并添加到项目中。
数据库工具类:
public class JDBCUtil {//创建连接池对象
private static ComboPooledDataSource cpds = new ComboPooledDataSource();
/**
* 返回连接池中的连接对象
* @return
*/
public static Connection getConnection(){
try {
return cpds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}
在src下添加配置文件c3p0-config.xml(文件名是其他的)
<c3p0-config>
<default-config>
<property name="jdbcUrl">
jdbc:mysql://localhost:3306/cloudnotes</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">199616</property>
<property name="acquireIncrement">3</property>
<property name="initialPoolSize">10</property>
<property name="minPoolSize">2</property>
<property name="maxPoolSize">10</property>
</default-config>
</c3p0-config>
通过JDBCUtil.getConnection()获得连接对象