当当当当~~~~欢迎大家阅读,上一篇博客学习了传统的数据库连接,今天我们学习数据库连接池
一:传统的数据库连接模式
1、在主程序中建立数据库连接
2、进行sql操作
3、断开数据库连接
二:传统连接存在的问题
1、数据库的连接资源没有的到很好的重复利用
2、对于每一次数据库连接,使用完都得断开
3、不能控制被创建的连接对象数
三:如何解决传统开发中的数据库连接问题
使用数据库连接池
四:使用数据库连接池的好处
1、提高程序的响应速度(减少了创建连接相应的时间)
2、降低资源的消耗(可以重复使用已经提供好的连接)
3、便于连接的管理
五:多种开源的数据库连接池
1、DBCP 是Apache提供的数据库连接池。tomcat 服务器自带dbcp数据库连接池。速度相对c3p0较快,但因自身存在BUG,Hibernate3已不再提供支持。
2、C3P0 是一个开源组织提供的一个数据库连接池,速度相对较慢,稳定性还可以。hibernate官方推荐使用
3、Proxool 是sourceforge下的一个开源项目数据库连接池,有监控连接池状态的功能,稳定性较c3p0差一点
4、BoneCP 是一个开源组织提供的数据库连接池,速度快
5、Druid 是阿里提供的数据库连接池,据说是集DBCP 、C3P0 、Proxool 优点于一身的数据库连接池,但是速度不确定是否有BoneCP快
六:举例(Druid数据库连接池技术的实现)
步骤一:导入jar包
步骤二:创建配置文件druid.properties,定义在src下
url=jdbc:mysql:///test
username=root
password=abc123
driverClassName=com.mysql.jdbc.Driver
initialSize=10
maxActive=10
步骤三:测试连接的代码
private static DataSource source1;
static{
try {
Properties pros = new Properties();
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
pros.load(is);
source1 = DruidDataSourceFactory.createDataSource(pros);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection3() throws SQLException{
Connection conn = source1.getConnection();
return conn;
}
以上就是JDBC数据库连接池啦,希望我的文章对你有所帮助,如果有错误的地方还望大家批评指正,谢谢大家阅读!