zoukankan      html  css  js  c++  java
  • Hibernate笔记——C3P0配置

    Hibernate作为持久层(ORM)框架,操作数据库,自然也就离不开数据库连接池了。其支持多种连接池,这里就用最熟悉的C3P0连接池。

    C3P0连接池前面已经介绍了并使用很多次了就不再详细说明了。


    一共就两个步骤,首先导入C3P0架包(当然还要有hibernate框架包和mysql驱动包),然后在Hibernate配置文件写配置信息


    第一步-导包

    架包列表

    要注意,导入的c3p0架包中需含有hibernate-c3p0.xxx.jar,为方便可直接复制 Hibernate框架/lib/optional/c3p0 内所有架包


    第二步-写配置

    hiberna.cfg.xml配置内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "hibernate-configuration-3.0.dtd" >
    <hibernate-configuration>
      <session-factory>
        <property name="connection.url">jdbc:mysql://localhost:3306/db_pwc</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.username">pwc</property>
        <property name="connection.password">123456</property>
        <property name="provider_class">org.hibernate.c3p0.internal.C3P0ConnectionProvider</property>
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="show_sql">true</property>
        <property name="hbm2ddl">update</property>
        <property name="c3p0.max_size">20</property>
        <property name="c3p0.min_size">5</property>
        <property name="c3p0.timeout">5000</property>
        <property name="c3p0.max_statements">20</property>
        <property name="c3p0.acquire_increment">2</property>
      </session-factory>
    </hibernate-configuration>
    

    Hibernate默认是自带的Hibernate Connection Pool连接池,要使用c3p0连接池需设置provider_class属性值,填写的值可在导入的c3p0包内找到C3P0ConnectionProvider类,复制其全名即可。

    property节点name属性配置中c3p0开头的皆为连接池配置信息,详细信息自行百度。


    最后写测试类进行测试

    Test.java

    package com.pwc.test;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.cfg.Configuration;
    
    public class Test {
        private static Configuration configuration=new Configuration();
        private static SessionFactory factory;
        static{
            factory=configuration.configure("hibernate.cfg.xml").buildSessionFactory();
        }
    
        public static void main(String[] args) {
            Session session=factory.openSession();
            Transaction transaction = session.beginTransaction();
    
            transaction.begin();
            transaction.commit();
            session.close();
            factory.close();
            System.out.println("OK!");
        }
    }
    

    设置断点,调试运行,如果查看连接中出现和配置信息中c3p0.min_size属性值一样(本例值为5,即连接用户增加5个),那么配置基本成功!

    执行结果

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    LSMW TIPS
    Schedule agreement and Delfor
    Running VL10 in the background 13 Oct
    analyse idoc by creation date
    New Journey Prepare
    EDI error
    CBSN NEWS
    Listen and Write 18th Feb 2019
    Microsoft iSCSI Software Target 快照管理
    通过 Microsoft iSCSI Software Target 提供存储服务
  • 原文地址:https://www.cnblogs.com/pwc1996/p/4839140.html
Copyright © 2011-2022 走看看