C3P0配置之Hibernate与JNDI
C3P0:一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。
?
默认情况下(即没有配置连接池的情况下),Hibernate会采用内建的连接池。但这个连接池性能不佳,因此官方也只是建议仅在开发环境下使用。Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool。
?
这里说一下为什么一定要使用C3P0吧:
1)hibernate官网推荐
2)? 解决数据库重启后tomcat在不需要重启的情况下即可重新获得数据连接的问题。
?
这里说一下如何配置,网上其实有好多,我只是根据项目需要整理了一下。
?
一。JNDI
1)在tomcat或者项目中引入最新版的C3P0的JAR包(我是用的是c3p0-0.9.1.2.jar)
2)修改tomcat中的数据源配置,如下:
?3)项目中正常引入这个数据源即可,代码不需要任何修改
?
?
二。Hibernate
1)项目中引入C3P0的JAR
2)修改Hibernate中的配置(我使用的是Spring+Hibernate),如下:
?3)这里的dataSource可以是jndi
?
三。如果使用spring,同时项目中不使用jndi,又不想配置到Hibernate中,可以直接将C3P0配置到dataSource中即可,如下:
??
?
参考资料:
http://baike.baidu.com/view/920062.htm
http://dengjianqiang200.blog.163.com/blog/static/658119201032313017139
http://yakar.iteye.com/blog/356243
?
?
?
?