Hibernate3.3.2使用c3p0最为数据库连接池

来源:互联网 发布:手机淘宝与支付宝解绑 编辑:程序博客网 时间:2024/06/15 16:39

先引入c3p0-0.9.1.jar,我的在这个文件夹中:hibernate-distribution-3.3.2.GA\lib\optional\c3p0;如果没有可以去官网下载即可。

接着将c3p0需要的配置设置入hibernate.cfg.xml中:

<?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>        <!-- Database connection settings -->        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>        <property name="connection.url">jdbc:mysql://localhost:3306/****</property>        <property name="connection.username">****</property>        <property name="connection.password">****</property>        <!-- 这里是使用c3p0数据库连接池的配置 --><property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property><!-- 最大连接数 --><property name="hibernate.c3p0.max_size">20</property><!-- 最小连接数 --><property name="hibernate.c3p0.min_size">5</property><!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位毫秒 --><property name="hibernate.c3p0.timeout">120</property><!-- 最大的PreparedStatement的数量 --><property name="hibernate.c3p0.max_statements">100</property><!-- 每隔120秒检查连接池里的空闲连接 ,单位是秒--><property name="hibernate.c3p0.idle_test_period">120</property><!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 --><property name="hibernate.c3p0.acquire_increment">2</property><!-- 每次都验证连接是否可用 --><property name="hibernate.c3p0.validate">true</property>         <!-- SQL dialect -->        <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>        <!-- Enable Hibernate's automatic session context management -->        <property name="current_session_context_class">thread</property>        <!-- Disable the second-level cache  -->        <!-- <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> -->        <!-- Echo all executed SQL to stdout -->        <property name="show_sql">true</property>        <property name="format_sql">true</property>        <!-- Drop and re-create the database schema on startup -->        <property name="hbm2ddl.auto">update</property>        <mapping class="com.****.bean.User"/>    </session-factory></hibernate-configuration>

我这里使用的数据库是mysql5.7.9。

之后,如果使用日志框架使用的是log4j的话,运行程序,发现

Initializing connection provider: org.hibernate.connection.C3P0ConnectionProvider

就说明成功配置了!


0 0