Hibernate dbcp连接池使用方法讲解

来源:岁月联盟 编辑:zhuzhu 时间:2009-09-22

Hibernate有很多值得学习的地方,这里我们主要介绍Hibernate dbcp连接池,包括介绍Hibernate dbcp连接池与c3p0一样,都是由Hibernate建立连接的。

Hibernate dbcp连接池

在Hibernate3.0中,已经不再支持dbcp连接池了,Hibernate的作者在Hibernate.org中,明确指出在实践中发现dbcp有 BUG,在某些种情会产生很多空连接不能释放,所以抛弃了对dbcp的支持。若需要使用dbcp,开发人员还需要将commons-pool-1.2.jar 和commons-dbcp-1.2.1.jar两个jar包加入到classpath中。Hibernate dbcp连接池与c3p0一样,都是由Hibernate建立连接的。

在Hibernate2.0中的配置建立如下:

Hibernate.cfg.xml

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <!DOCTYPE hibernate-configuration PUBLIC  
  3. "-//Hibernate/Hibernate Configuration DTD 2.0//EN"  
  4. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
  5. <hibernate-configuration> 
  6. <session-factory 
  7. <!-- 显示实际操作数据库时的SQL --> 
  8. <property name="show_sql">true</property> 
  9. <!-- SQL方言,这边设定的是MySQL --> 
  10. <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property> 
  11. <!--驱动程序,在后续的章节中将讲述mysql、sqlserver和Oracle数据库的配置 --  
  12. <property name="connection.driver_class">……</property> 
  13. <!-- JDBC URL --> 
  14. <property name="connection.url">……</property> 
  15. <!-- 数据库用户名,eg. root --> 
  16. <property name="connection.username"></property 
  17. <!-- 数据库密码, eg. root--> 
  18. <property name="connection.password"></property> 
  19. <property name="dbcp.maxActive">100</property> 
  20. <property name="dbcp.whenExhaustedAction">1</property> 
  21. <property name="dbcp.maxWait">60000</property> 
  22. <property name="dbcp.maxIdle">10</property> 
  23. <property name="dbcp.ps.maxActive">100</property 
  24. <property name="dbcp.ps.whenExhaustedAction">1</property> 
  25. <property name="dbcp.ps.maxWait">60000</property> 
  26. <property name="dbcp.ps.maxIdle">10</property> 
  27. <!-- 对象与数据库表格映像文件 --> 
  28. <mapping resource="com/amigo/pojo/User.hbm.xml"/> 
  29. <mapping resource="com/amigo/pojo/Org.hbm.xml"/> 
  30. </session-factory> 
  31. </hibernate-configuration>