`

Hibernate笔记=>连接池配置

 
阅读更多
在不受管理的环境中,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:在使数据库连接自动生效之前处于空闲状态的时间,以秒为单位

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics