HibernateDBpoolConfigure
来源:优易学  2011-9-18 12:55:24   【优易学:中国教育考试门户网】   资料下载   IT书店

  在hibernate3.0中,已经不再支持dbcp了,hibernate的作者在hibernate.org中,明确指出在实践中发现dbcp有BUG,在某些种情会产生很多空连接不能释放,所以抛弃了对dbcp的支持。至于c3p0,有评论说它的算法不是最优的,c3p0占用资源比较大,效率也不高。 proxool不少行家推荐使用,而且暂时来说,是负面评价是最少的一个。
  以连接MySQl为例介绍三种连接配置方法。
  <!-- JDBC驱动程序 -->
  <property name="connection.driver_class">org.gjt.mm.mysql.Driver
  </property>
  <property name="connection.url">jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK
  </property>
  <property name="connection.username">root</property><!-- 数据库用户名 -->
  <property name="connection.password">8888</property> <!-- 数据库密码 -->
  上面的一段配置,在c3p0和dbcp中,都是必需的,因为hibernate会根据上述的配置来生成connections,再交给c3p0或dbcp管理.但是,proxool则不能。
  1 C3P0
  
只需在hibernate.cfg.xml中加入
  <property name="c3p0.min_size">5</property>
  <property name="c3p0.max_size">30</property>
  <property name="c3p0.time_out">1800</property>
  <property name="c3p0.max_statement">50</property>
  还有在classespath中加入c3p0-0.8.4.5.jar
  2 dbcp
  
在hibernate.cfg.xml中加入
  <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>
  还有在classespath中加入commons-pool-1.2.jar 和commons-dbcp-1.2.1.jar.

[1] [2] 下一页

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训