Hibernate 使用 C3P0 连接池

连接池对于提高性能来说是个不错的选择, 特别是对于频繁创建连接关闭连接的程序来说,尤其如此,因为减少了没一次连接都需要创建连接和销毁连接的时间。hibernate 推荐使用 C3P0 连接池.

什么是连接池
对于连接池的定义,可以参考维基百科 : 连接池 connection pool

在Hiberante中配置 C3P0 连接池
程序代码 程序代码

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
  <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
  <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:MKYONG</property>
  <property name="hibernate.connection.username">mkyong</property>
  <property name="hibernate.connection.password">password</property>
  <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
  <property name="hibernate.default_schema">MKYONG</property>
  <property name="show_sql">true</property>

  <property name="hibernate.c3p0.min_size">5</property>
  <property name="hibernate.c3p0.max_size">20</property>
  <property name="hibernate.c3p0.timeout">300</property>
  <property name="hibernate.c3p0.max_statements">50</property>
  <property name="hibernate.c3p0.idle_test_period">3000</property>
  <!--
  <mapping class="com.yihaomen.User"></mapping>
  -->
</session-factory>
</hibernate-configuration>


hibernate.c3p0.min_size – 连接池中最少的jdbc连接数. Hibernate 默认: 1
hibernate.c3p0.max_size – 连接池中最大jdbc连接数. Hibernate 默认: 100
hibernate.c3p0.timeout – 连接空闲多久之后,会被从连接池中移除, 时间默认为秒. Hibernate 默认: 0, 从不.
hibernate.c3p0.max_statements – 将会被缓存的 语句. 为提高性能而是用. Hibernate 默认: 0 , 不是用cache.

如果想更详细的了解 在hibernate中如何配置 c3p0 连接池,可以参考这里 hibernate c3p0 config

运行程序之后,如何查看连接池中启动了多少个连接
如果是 mysql 数据库,可以用如下命令:
程序代码 程序代码

show processlist;
如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。
show processlist;只列出前100条,如果想全列出请使用show full processlist;


另外还可以采用 show status 命令. 其中有很多参数选择.

除非申明,文章均为一号门原创,转载请注明本文地址,谢谢!
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: hibernate c3p0
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.