目前我已将现有项目中的数据库连接池全部更换为 Druid,下面我们看一下Druid相关内容。

Druid是什么?

Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。

Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。

同时Druid不仅仅是一个数据库连接池,它包括四个部分:
Druid是一个JDBC组件,它包括四个部分:

DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。

DruidDataSource 高效可管理的数据库连接池。

SQLParser

Druid可以做什么?

  • 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
  • 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
  • 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
  • SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。
  • 扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter机制,很方便编写JDBC层的扩展插件。
  • DBCP更换为Druid.

  • 之前项目中数据库连接池用的为DBCP,现在更换为Druid配置也非常方便:
  • 从DBCP迁移到DruidDataSource,只需要修改数据源的实现类就可以了。

    DBCP的数据库连接池的实现是:

    org.apache.commons.dbcp.BasicDataSource

    替换为:

    com.alibaba.druid.pool.DruidDataSource

    如果需要使用Druid的其他配置,可以参考http://code.alibabatech.com/wiki/pages/viewpage.action?pageId=2916406

    配置如下:

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">     <property value="${jdbc_url}" name="url"></property>     <property value="${jdbc_user}" name="username"></property>     <property value="${jdbc_password}" name="password"></property>       <property value="stat" name="filters"></property>       <property value="20" name="maxActive"></property>     <property value="1" name="initialSize"></property>     <property value="60000" name="maxWait"></property>     <property value="1" name="minIdle"></property>       <property value="60000" name="timeBetweenEvictionRunsMillis"></property>     <property value="300000" name="minEvictableIdleTimeMillis"></property>       <property value="SELECT 'x'" name="validationQuery"></property>     <property value="true" name="testWhileIdle"></property>     <property value="false" name="testOnBorrow"></property>     <property value="false" name="testOnReturn"></property>     <property value="true" name="poolPreparedStatements"></property>     <property value="20" name="maxPoolPreparedStatementPerConnectionSize"></property> </bean>

更多资料详见:http://code.alibabatech.com/wiki/display/Druid/Home

Druid 不仅仅是一个数据库连接池相关推荐

  1. c3p0,DBCP,Druid(德鲁伊)数据库连接池

    c3p0,DBCP,Druid(德鲁伊)数据库连接池 每博一文案 佛说:前世 500 次的回眸,才换来今生的一次擦肩而过. 人与人之间的缘分,真的无需强求,并不是所有的感情都能天长地久,正如<越 ...

  2. Druid(德鲁伊)数据库连接池

    文章目录 前言 一.Druid(德鲁伊)数据库连接池 1.1.Druid的介绍 1.1.Druid使用 总结 前言   **我们为什么要使用数据库连接池了?是为解决传统开发中的数据库连接问题,所以采用 ...

  3. C# 线程手册 第三章 使用线程 实现一个数据库连接池(实战篇)

    在企业级软件开发过程中,为了改善应用程序的性能需要通常使用对象池来控制对象的实例化.例如,在我们每次需要连接一个数据库时都需要创建一个数据库连接,而数据库连接是非常昂贵的对象.所以,为了节省为每次数据 ...

  4. Spring Boot使用hikari、druid、c3p0等数据库连接池详解

    文章目录 前言 Hikari连接池 Druid连接池 Druid(新版starter)连接池 C3P0连接池(1 C3P0连接池(2 扩展 前言 截至Spring Boot V2.0为止,官方仅为下列 ...

  5. druid最大连接数oracle,性能超过DRUID的最强数据库连接池——HikariCP相关配置及简单示例...

    在配置application.yml时,对hikari的配置会有这样一个字段validationQuery. validationQuery是用来验证数据库连接的查询语句,这个查询语句必须是至少返回一 ...

  6. 每日一皮:看图猜一个数据库连接池!

    留言说答案,看看你猜对了吗? 往期推荐 每日一皮:老大爷,您保持年轻的秘诀是什么 每日一皮:发现程序员经常熬夜有三个弊端! 每日一皮:自己运行正常,测试一测就有bug 每日一皮:程序员最讨厌的四件事! ...

  7. Java中几个主流的数据库连接池

    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...

  8. 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明

    转载自  常用数据库连接池 (DBCP.c3p0.Druid) 配置说明 1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的 ...

  9. 【张小平工作日志】DBCP、c3p0、Druid、Proxool数据库连接池比较

    定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正是针对这个问 ...

最新文章

  1. 客服团队OKR怎么写?看最新客服OKR模板
  2. fix issues
  3. 2013年3月空调类品牌网络知名度排名
  4. Centos 7 安装NodeJS开发环境
  5. Windows下配置R-FCN
  6. cocos2d-x游戏开发(七)对象释放时机
  7. 什么是 CAS 机制
  8. DUMP文件分析6:简单的堆破坏示例
  9. svn差异查看器 编码_男女学习编码的9个差异
  10. unity3d 取锚点位置_周三手机课实时共享位置,方便朋友找到见面地点
  11. 201671010114 2016-2017-2 《Java程序设计》学习总结
  12. python编写排列组合,密码生产功能
  13. MacBook Pro 16英寸样机模型正面视图psd素材
  14. 2016级算法期末模拟练习赛-E.AlvinZH的青春记忆III
  15. Opencores 无法点击submit的问题解决方案
  16. 列表,元组,字典,集合类型变量相关内置函数详解
  17. linux中bond网卡是什么意思,linux 网卡bond
  18. GPS经纬度坐标转换的方法
  19. 日历插件(项目总结)(包括mobiscroll.js LCalendar 和Calendar这三个日历插件)
  20. 主板电池(华硕主板,电池是KTS的)问题导致电脑无法启动

热门文章

  1. mysql服务器级别角色_服务器数据库系列 - MySQL事务隔离级别详解
  2. 暂停 CSS @keyframes 动画
  3. 搭建一个企业级的Vue工程!
  4. ue4蓝图碰撞检测的类型_UE4_自定义相机碰撞组件
  5. ajax没效果,ajax没有效果
  6. oracle按照时间点回退,【Oracle】查看事务回滚的时间
  7. php 设置 最大内存,修改PHP的memory_limit限制的方法分享
  8. 自考那些事儿(九):再次学操作系统
  9. 本田公布104小时驾驶行为数据集:时间不长但胜在全面 | 附相关资源汇总
  10. 科大讯飞回应“同传造假”:承认转写人类同传,沟通不足造成误解