在不受管理的环境中,Java应用自身负责构造特定连接池的实力,然后访问这个连接池的API,从而获得数据库连接;在受管理的环境中,容器(如J2EE应用服务器)负责构造连接池的实力,Java应用直接访问容器通过的连接池实例。
连接池提供者
在Hibernate应用中,完全可以通过HiberateAPI来访问数据库,因为Hiberante提供了对连接池的提供者的统一接口ConnectionProvider,同时内置了以下实现类:
DriverManagerConnectionProvider:代表有Hibernate提供的默认连接池
C3P0ConnectionProvider:代表C3P0连接池
ProxoolConnectionProvider:代表Proxool连接池
DBCPConnectionProvider:代表DBCP连接池
DatasourceConnectionProvider:代表受管理的环境中由容器提供的数据源
连接池的配置
除了以上内置的ConnectionProvider实现类,用户可以自己创建其他的实现类。在Hiberate的配置文件中通过hiberate.connection.provider_class属性制定Connectio的实现类即可。
设置后provider_class后,需要设置具体的连接池参数。
不同的连接池有不同的配置项,以C3P0连接池为例:
hiberate.c3p0.min_size=5
hiberate.c3p0.max_size=20
hiberate.c3p0.timeout=300
hiberate.c3p0.max_statements=50
hiberate.c3p0.idle_test_period=3000
说明:
min_size:在连接池中可用的数据库连接的最少数目
max_size:在连接池中所有数据库连接的最大数目
timeout:以秒为单位。如果空闲连接的空闲超过了timeout,就会删除
max_statements:可以被缓存的PreparedStatement最大数目。设置适量可大大提高Hibernate性能
idle_test_period:在使数据库连接自动生效之前处于空闲状态的时间,以秒为单位
分享到:
相关推荐
hibernate的查询方式介绍和hibernate的批处理和连接池配置hibernate
在Hibernate中配置Proxool连接池
hibernate 连接池配置详解,四种连接方式:第一种方案,Hibernate默认连接池;第二种方案是:C3P0;第三种方案是:dbcp;第四种方案是:Proxool (推荐)
Hibernate 下配置连接池解决多连接的问题
hibernate配置数据库连接池的三种方法(数据库连接池的概念)
Hibernate2和Hibernate3连接池配置.doc
hibernate配置连接池大全 hibernate配置连接池大全
Hibernate的三种连接池设置C3P0、Proxool和DBCP. 详细说明及配置方法 Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP.
在Hibernate连接池配置时需要注意的有三点: 一、Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐使用,官方的解释是这个连接池存在缺陷。如果你因为某种原因需要在Hibernate3中使用DBCP,建议采用...
Hibernate连接池的三种配置方式......
资源包括hibernate Sql server2005连接池配置源码,及sqlserverjdbc.jar jTDS3.jar jtds-1.2.jar ojdbc14.jar proxool-0.9.0RC3.jar 等jar包,希望能帮大家一些忙
Hibernate Proxool连接池配置总结及常遇问题
二、默认情况下(即没有配置连接池的情况下),Hibernate会采用内建的连接池。但这个连接池性能不佳,且存在诸多BUG(笔者就曾在Mysql环境下被八小时连接悬空问题困扰过),因此官方也只是建议仅在开发环境下使用。 ...
hibernate连接池配置的三种方式。
hibernate配置连接池 hibernate配置连接池
整合网络上关于数据库连接池的资料,结合hibernate对常用数据库连接池进行整合
介绍了Hibernate中几种连接池以及他们怎么使用