转: c3p0、dbcp、druid三大连接池对比 原文地址:https://www.cnblogs.com/littlelazy/p/10480552.html 时间: 2024-10-06 10:22:49
DBCP.c3p0.Druid三大连接池区别 一.连接池优势 如果一个项目中如果需要多个连接,如果一直获取连接,断开连接,这样比较浪费资源: 如果创建一个池,用池来管理Connection,这样就可以重复使用Connection. 有了池我们就不用自己来创建Connection,而是通过池来获取Connection对象.当使用完Connection后,调用Connection的close()方法也不会真的关闭Connection,而是把Connection"归还"给池. 池就可以再利用
说到druid,这个是在开源中国开源项目中看到的,说是比较好的数据连接池.于是乎就看看.扯淡就到这. 下面就讲讲用的比较多的数据库连接池.(其实我最先接触的是dbcp这个) 1)DBCP DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序中使用,Tomcat的数据源使用的就是DBCP. 2)c3p0 c3p0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的C
SpringBoot整合Druid数据连接池 Druid是什么? Druid是Alibaba开源的的数据库连接池.Druid能够提供强大的监控和扩展功能. 在哪里下载druid maven中央仓库: http://central.maven.org/maven2/com/alibaba/druid/ 怎么获取Druid的源码 Druid是一个开源项目,源码托管在github上,源代码仓库地址是 https://github.com/alibaba/druid.同时每次Druid发布正式版本和快照
1.C3P0 有评论说它的算法不是最优的,在同一项目中分别用了几个常用的Hibernate连接池配置,然后测试其性能,发现c3p0占用资源比较大,效率也不高; 2.DBCP 由于在Hibernate3.0中,已经不再支持dbcp了,Hibernate的作者在hibernate.org中,明确指出在实践中发现dbcp有 BUG,在某些种情会产生很多空连接不能释放,所以抛弃了对dbcp的支持,所有慎重使用 3.Proxool proxool不少行家推荐使用,而且暂时来说,是负面评价是最少的一个 原文
1.1.1 Druid的概述Druid阿里旗下开源连接池产品,使用非常简单,可以与Spring框架进行快速整合.1.1.2 Druid的使用 @Test /** * Druid的使用: * * 手动设置参数的方式 */ public void demo1(){ Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try{ // 使用连接池: DruidDataSource dataSource
使用配置方式完成连接池的使用 @Test /** * Druid的使用: * * 配置方式设置参数 * Druid配置方式可以使用属性文件配置的. * * 文件名称没有规定但是属性文件中的key要一定的. */ public void demo2(){ Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try{ // 使用连接池: // 从属性文件中获取: Properties propert
一.pom.xml添加 <!-- 配置数据库连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.0</version> </dependency> 二.application.properties 添加 # 连接池配置spring.datasource.type
Druid在连接池领域里可以说是比较火的,是阿里巴巴开源的JDBC连接池.监控组件,下面就简单介绍它一下. 它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系. DruidDataSource 高效可管理的数据库连接池. SQLParser . 功能: . 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助. . 替换D
1.1.1 API详解:注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 原因有2个: >导致驱动被注册2次. >强烈依赖数据库的驱动jar 解决办法: Class.forName("com.mysql.jdbc.Driver"); 1.1.2 API详解:java.sql.Statement接口: 操作sql语句,并返回相应结果 String sql = "某SQL语句&qu