java中数据库连接池框架c3p0和dbcp的区别

在java项目中为了节省与数据库之间的交互成本,经常会用到数据库连接池,dbcp和c3p0就是其中比较流行的两种

所谓数据库连接池,就是事先把与数据库的连接放在一起的管理容器,当项目中要与数据库打交道的时候,不需要重复的与数据库建立连接,断开连接,浪费时间,损耗性能,

只需要从连接池中申请或者获取一个连接即可,那么dbcp和c3p0到底有什么不同呢

c3p0是一个开源的jdbc连接池,可进行扩展,hibernate和spring框架中都有用到c3p0

dbcp是apache下的一个项目,是tomcat中使用的连接池组件

两者的区别在于实现机制不一样,核心理念也不一样,但是达到的目的是一样的,

c3p0有自动回收空闲连接的功能,而dbcp没有,

c3p0提供的是最大空闲时间,当当前连接的空闲时间超过最大空闲时间时,当前连接就会断开

dbcp提供的是最大连接数,当当前连接超过所设值的最大连接数时,所有的连接都会断开;


你可能感兴趣的:(java,数据库)