数据库连接池
一,数据库连接池
传统模式下操作数据需要与数据库连接,进行sql操作,断开数据库连接。这种模式会出现问题,资源没有得到从重复利用,每一次数据连接,使用后都需要断开连接,不能控制连接对象数。而数据库连接池可以很好处理这些问题。
数据库连接池负责分配,管理和释放数据库连接,可以重复的使用。
二,开源的数据库连接池
JDBC的数据库连接池使用javax.sql.DataSource来表示,DataSource只是一个接口,几种数据库连接池,DBCP,C3P0,Druid,现在通常使用Druid.
三,Druid(德鲁伊)数据库连接池
Druid时阿里巴巴开源平台上一个数据库连接池实现,结合许多的数据库连接池的有点,可以说时最好的连接池之一
1,连接池的创建
//静态成员变量,连接池只需要创建一次
private static DataSource dataSource;
//使用静态代码块创建连接池
static {
Properties p = null;
try {
p = new Properties();
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
p.load(is);
dataSource = DruidDataSourceFactory.createDataSource(p);
} catch (Exception e) {
e.printStackTrace();
}
}
//获取连接池中的一个连接
public static Connection getConnection() throws SQLException {
Connection conn = dataSource.getConnection();
return conn;
}
Properties配置文件:
url=jdbc:mysql://localhost:3306/test
username=root
password=123456
driverClassName=com.mysql.jdbc.Driver