zoukankan      html  css  js  c++  java
  • hibernate使用c3p0数据源

    在配置好hibernate连接数据库环境的前提下,我们进行例如以下操作就能够搭建好hibernate中使用c3p0数据源的环境了。

    1). 导入 jar 包:

    hibernate-release-4.2.4.Finalliboptionalc3p0*.jar(这里面一般有3个jar包 )
    c3p0-0.9.2.1.jar
    hibernate-c3p0-4.2.15.Final.jar
    mchange-commons-java-0.2.3.4.jar

    2). 加入配置(hibernate.cfg.xml文件里加入):

    hibernate.c3p0.max_size: 数据库连接池的最大连接数
    hibernate.c3p0.min_size: 数据库连接池的最小连接数
    hibernate.c3p0.acquire_increment: 当数据库连接池中的连接耗尽时, 同一时刻获取多少个数据库连接
    hibernate.c3p0.timeout: 数据库连接池中连接对象在多长时间没有使用过后,就应该被销毁
    hibernate.c3p0.idle_test_period: 表示连接池检測线程多长时间检測一次池内的全部链接对象是否超时.
    连接池本身不会把自己从连接池中移除。而是专门有一个线程依照一定的时间间隔来做这件事,
    这个线程通过比較连接对象最后一次被使用时间和当前时间的时间差来和 timeout 做对照,进而决定是否销毁这个连接对象。
    hibernate.c3p0.max_statements: 缓存 Statement 对象的数量

    以下是增加配置的原版代码:
    以下代码加入在hibernate.cfg.xml文件里
    </pre><pre name="code" class="html"><!-- 配置c3p0数据源 -->
    		<property name="hibernate.c3p0.max_size">10</property>
    		<property name="hibernate.c3p0.min_size">2</property>
    		<property name="c3p0.acquire_increment">2</property>
    		<property name="c3p0.idle_test_period">2000</property>
    		<property name="c3p0.timeout">2000</property>
    		<property name="c3p0.max_statements">10</property>

    我们能够通过编写測试用例来查看是否搭建成功:
    创建junit測试用例,在測试用例中复写dowork方法来调用jdbc中的connection对象,然后打印出来
    @Test
    	public void testDoWork(){
    		session.doWork(new Work() {
    			
    			@Override
    			public void execute(Connection connection) throws SQLException {
    				System.out.println(connection); 
    				
    				//调用存储过程. 
    			}
    		});
    	}

    若打印了的出现了以下带有c3p0的代码就表示如今已经搭建成功。
    com.mchange.v2.c3p0.impl.NewProxyConnection@5848ddac


  • 相关阅读:
    暴雪HASH算法(转)
    实现的一些内存辅助操作函数
    仿SGI STL的traits技法
    c++实现kd树
    利用libpcap打印ip包
    在使用cognos时遇到的问题记录帖
    DW,DM,ODS的区别
    解决问题的8种职业能力
    ASP.NET网站怎么发布 Web项目程序怎么发布部署(暂时收藏)
    关于IIS和.NET 4.0的问题总结(转)
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6920059.html
Copyright © 2011-2022 走看看