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
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 2.0//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- <hibernate-configuration>
- <session-factory
- <!-- 显示实际操作数据库时的SQL -->
- <property name="show_sql">true</property>
- <!-- SQL方言,这边设定的是MySQL -->
- <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
- <!--驱动程序,在后续的章节中将讲述mysql、sqlserver和Oracle数据库的配置 --
- <property name="connection.driver_class">……</property>
- <!-- JDBC URL -->
- <property name="connection.url">……</property>
- <!-- 数据库用户名,eg. root -->
- <property name="connection.username">…</property
- <!-- 数据库密码, eg. root-->
- <property name="connection.password">…</property>
- <property name="dbcp.maxActive">100</property>
- <property name="dbcp.whenExhaustedAction">1</property>
- <property name="dbcp.maxWait">60000</property>
- <property name="dbcp.maxIdle">10</property>
- <property name="dbcp.ps.maxActive">100</property
- <property name="dbcp.ps.whenExhaustedAction">1</property>
- <property name="dbcp.ps.maxWait">60000</property>
- <property name="dbcp.ps.maxIdle">10</property>
- <!-- 对象与数据库表格映像文件 -->
- <mapping resource="com/amigo/pojo/User.hbm.xml"/>
- <mapping resource="com/amigo/pojo/Org.hbm.xml"/>
- </session-factory>
- </hibernate-configuration>
【编辑推荐】