在讲解连接池之前,先弄懂以下几个概念:
数据源:Data source , 读取数据的来源,也就是说你的系统要读取的数据去什么地方找(存放数据的地方)!
JDBC:全称为Java DataBase Connectivity standard, 它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库。
两者之间的关系: 数据源并不等于连接池,数据源不是必须要求实现连接池的,即连接池是数据源的一种.
c3p0: hibernate.cfg.xml中配置
……
dbcp: hibernate.cfg.xml中配置
proxool: hibernate.cfg.xml中配置 先写proxool的配置文件,文件名:proxool.xml(一般放在与hibernate.cfg.xml文件在同一个目录中)
hibernate.transaction.factory_class = org.hibernate.transaction.JTATransactionFactory
hibernate.transaction.manager_loopup_class=org.hibernate.transaction.JBossTransactionManagerLookup
hibernate.dialect=org.hibernate.dialect.MySQLDialect
区别:在hibernate3.0中,已经不再支持dbcp了,hibernate的作者在hibernate.org中,明确指出在实践中发现 dbcp有BUG,在某些种情会产生很多空连接不能释放,所以抛弃了对dbcp的支持。proxool不少行家推荐使用.c3p0占用资源比较大,效率也不高.