java mysql连接池_JAVA数据库连接池总结

一、数据库连接池

数据库连接池的基本思想就是为数据库连接建立一个缓冲池,预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需要从“缓冲池”中取出一个,使用完之后在放回去,节省连接建立、释放过程中的资源、时间消耗。

目前主流的数据库连接池有DBCP、C3P0、DRUID等几种。

1、DBCP

DBCP来自apache家族,是基于common-pool对象池机制的数据库连接池,目前有三个不同的版本支持不同的JDBC规范:

DBCP v1.3版本(JDBC3)

DBCP v1.4版本(JDBC4)

DBCP v2.X版本(JDBC4.1)

DBCP2 代表的也就是2.X版本,相比较于1.x版本,性能有了较大提升,支持JMX和一些新特性;DBCP2.X和DBCP1.x是不兼容的,包括具体配置上面的参数也有些不同;项目引用的类名称、maven仓库的位置坐标也不一样。

2、C3P0

C3P0 支持JDBC3规范和JDBC2的标准扩展; 在hibernate项目中使用的比较多;

3、DRUID

Druid 是阿里巴巴开源平台上一个数据库连接池实现,除了数据库连接池外,还提供了一系列内置的jdbc组件,可以监控DB连接池和sql执行情况。

二、主要区别

1、c3p0提供最大空闲时间,当连接超过最大空闲连接时间,当前连接就会被断掉。

2、DBCP提供最大连接数,当连接数超过最大连接数时候,所有连接都会被断开。

3、Druid结合了C3P0、DBCP的优点,同时针对不同的数据库,在实现上有针对性的优化。

三、使用建议

1、Druid除了连接池,监控功能也不错,便于优化,一般情况下推荐使用;

2、如果使用的是oracle数据库,不建议使用c3p0,因为c3p0不遵循LRU;

四、属性配置

spring中datasource的配置分别如下:

1、DBCP配置

2、DBCP2配置

3、C3P0配置

4、DRUID配置

init-method="init" destroy-method="close">

value="20" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值