最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

连接池有那几种 分别有什么区别

来源:动视网 责编:小OO 时间:2024-12-21 11:23:57
文档

连接池有那几种 分别有什么区别

数据源并不等同于连接池,连接池是数据源的一种实现方式,但并非所有数据源都需要实现连接池功能。例如,c3p0就是一种连接池实现,其配置方式在hibernate.cfg.xml中体现,如下所示。hibernate.cfg.xml配置。<;property name=";connection.provider_class";>;com.mchange.v2.c3p0.ComboPooledDataSource<;/property>。<;property name=";hibernate.c3p0.min_size";>;20<;/property>。
推荐度:
导读数据源并不等同于连接池,连接池是数据源的一种实现方式,但并非所有数据源都需要实现连接池功能。例如,c3p0就是一种连接池实现,其配置方式在hibernate.cfg.xml中体现,如下所示。hibernate.cfg.xml配置。<;property name=";connection.provider_class";>;com.mchange.v2.c3p0.ComboPooledDataSource<;/property>。<;property name=";hibernate.c3p0.min_size";>;20<;/property>。


在深入了解连接池之前,我们先要理解几个基本概念:数据源(Data source)指的是数据的来源,即系统读取数据的具体位置;JDBC(Java Database Connectivity)是一种标准的面向对象的应用程序接口,用于访问关系数据库。

数据源并不等同于连接池,连接池是数据源的一种实现方式,但并非所有数据源都需要实现连接池功能。例如,c3p0就是一种连接池实现,其配置方式在hibernate.cfg.xml中体现,如下所示:

hibernate.cfg.xml配置:

<property name="connection.provider_class">com.mchange.v2.c3p0.ComboPooledDataSource</property>

<property name="hibernate.c3p0.min_size">20</property>

<property name="hibernate.c3p0.max_size">50</property>

<property name="hibernate.c3p0.timeout">120</property>

<property name="hibernate.c3p0.max_statements">100</property>

<property name="hibernate.c3p0.idle_test_period">120</property>

dbcp也是一种连接池,其配置方式也类似c3p0,具体如下:

hibernate.cfg.xml配置:

<property name="connection.provider_class">org.apache.commons.dbcp.BasicDataSourceFactory</property>

<property name="hibernate.connection.datasource">java:comp/env/jdbc/DBCP</property>

proxool是另一种连接池实现,配置文件proxool.xml通常与hibernate.cfg.xml位于同一目录下,具体配置如下:

proxool.xml配置:

<pool-name>DBPool</pool-name>

<driver>com.mysql.jdbc.Driver</driver>

<factory-class>org.proxool.factory.ProxoolFactory</factory-class>

<property name="driver-url">jdbc:mysql://localhost:3306/application_context?useUnicode=true&characterEncoding=UTF8</property>

<property name="max-connections">100</property>

<property name="min-connections">10</property>

在实际应用中,hibernate 3.0版本已经不再支持dbcp,因为作者发现dbcp在某些情况下会产生许多无法释放的空连接,因此不再推荐使用。相比之下,proxool虽然被一些专家推荐,但其占用资源较多且效率不高。因此,c3p0成为了当前较为推荐的连接池解决方案。

文档

连接池有那几种 分别有什么区别

数据源并不等同于连接池,连接池是数据源的一种实现方式,但并非所有数据源都需要实现连接池功能。例如,c3p0就是一种连接池实现,其配置方式在hibernate.cfg.xml中体现,如下所示。hibernate.cfg.xml配置。<;property name=";connection.provider_class";>;com.mchange.v2.c3p0.ComboPooledDataSource<;/property>。<;property name=";hibernate.c3p0.min_size";>;20<;/property>。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top