Hibernate使c3p0数据库连接池

          1)maven中配置

                 添加Hibernate集成的c3p0jar包

<dependency>
       <groupId>org.hibernate</groupId>
       <artifactId>hibernate-c3p0</artifactId>
       <version>4.3.6.Final</version>
</dependency>
          2)hibernate.cfg.xml
       <property name="hibernate.connection.provider_class">org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider</property>
       <property name="hibernate.c3p0.max_size">2</property> 
       <property name="hibernate.c3p0.min_size">2</property> 
       <property name="hibernate.c3p0.timeout">5000</property> 
       <property name="hibernate.c3p0.max_statements">100</property> 
       <property name="hibernate.c3p0.idle_test_period">3000</property> 
       <property name="hibernate.c3p0.acquire_increment">2</property> 
       <property name="hibernate.c3p0.validate">false</property> 
          3)为何要使用数据库连接池

              1.  数据库连接实质上就是TCP连接,建立连接和撤销连接的开销很大(3次握手)
              2.  如果不使用数据库连接池,那么操作一次数据库关闭session,就要创建一个连接并撤销

              3.  使用数据库连接池,可以一次性申请若干个数据库连接,一个线程要使用数据库连接,那么就向数据库连接池申请。

                   如果申请到,则使用,并在使用完成之后归还给连接池;

                   如果没有申请到,且连接池中连接数小于连接池最大数目,那么就再建立连接(一次建立数目可以设置);

                   如果没有申请到,且连接池中连接数已经等于最大数目,那么线程阻塞,等待其他线程归还数据库连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值