1 连接池管理连接
1.1 DBCP:开源连接池实现,使用时必须导入两个jar文件
a) commons-dbcp.jar:连接池的实现
b) commons-pool.jar:连接池实现的依赖库
使用例子:
public class DbcpTest {
public static void main(String[] args) throws SQLException {
//创建数据源对象
BasicDataSource ds =new BasicDataSource();
//设置连接池所需的驱动
ds.setDriverClassName("com.mysql.jdbc.Driver");
//设置连接数据库的URL
ds.setUrl("jdbc:mysql://localhost:3306/mydb");
//设置连接数据库用户名
ds.setUsername("root");
//设置连接数据库的密码
ds.setPassword("123");
//设置连接池的初始连接数
ds.setInitialSize(5);
//设置连接池最多可有多少个活动连接数
ds.setMaxTotal(20);
//设置连接池中最少有2个空闲的连接
ds.setMinIdle(2);
//通过数据源获取数据库连接
Connection conn = ds.getConnection();
//释放数据库连接
conn.close();
}
}
1.2 C3P0:使用时必须导入jar文件
a) c3p0-0.9.5.2.jar:C3P0连接池的实现
使用例子:
public class C3p0Test {
public static void main(String[] args) throws SQLException, PropertyVetoException {
//创建数据源对象
ComboPooledDataSource ds =new ComboPooledDataSource();
//设置连接池所需的驱动
ds.setDriverClass("com.mysql.jdbc.Driver");
//设置连接数据库的URL
ds.setJdbcUrl("jdbc:mysql://localhost:3306/mydb");
//设置连接数据库用户名
ds.setUser("root");
//设置连接数据库的密码
ds.setPassword("123");
//设置连接池的最大连接数
ds.setMaxPoolSize(40);
//设置连接池的最小连接数
ds.setMinPoolSize(2);
//设置连接池的初始连接数
ds.setInitialPoolSize(10);
//设置连接池的缓存Statement的最大数
ds.setMaxStatements(180);
//通过数据源获取数据库连接
Connection conn = ds.getConnection();
//释放数据库连接
conn.close();
}
}
1.3 C3P0自带配置文件:
文件名称叫做c3p0-config.xml
文件必须放到src下
<default config>
<named-config name=””>
使用时声明定义:
ComboPooledDataSource ds = new ComboPooledDataSource(“命名配置的名称”);