经过一个周末的折腾,终于找到了hibernate中使用数据库连接池的解决方案。
从网上google了一下,发现大致有三种可以实施的解决方案:
1、使用hibernate自带的连接池;
2、使用c3po包的连接池功能;
3、使用Proxool包的连接池功能;
第一种方案,就是在myeclipse产生的hibernate.cfg.xml中添加一个属性:
<property name="connection.pool_size">20</property>
第二种方案是:
<property name="myeclipse.connection.profile">test</property>
<property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
<property name="connection.url">jdbc:microsoft:sqlserver://localhost:1433;databasename=test</property>
<property name="connection.username">sa</property>
<property name="connection.password">123</property>
<property name="c3p0.min_size">2</property>
<property name="c3p0.max_size">10</property>
<property name="c3p0.timeout">1800</property>
<property name="c3p0.acquireRetryAttempts">4</property>
<property name="c3p0.acquireIncrement">1</property>
<property name="c3p0.idleConnectionTestPeriod">36000</property>
<property name="c3p0.initialPoolSize">2</property>
<property name="c3p0.maxPoolSize">10</property>
<property name="c3p0.maxIdleTime">1200</property>
<property name="c3p0.maxStatements">30</property>
<property name="c3p0.minPoolSize">2</property>
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
第三中方案是Proxool:
在hibernate.cfg.xml中添加:
<!-- Proxool Database connection settings -->
<property name="hibernate.connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
<property name="hibernate.proxool.pool_alias">DBPool</property>
<property name="hibernate.proxool.xml">Proxool.xml</property>
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="show_sql">false</property>
然后再添加一个Proxool.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
<alias>DBPool</alias>
<driver-url>jdbc:microsoft:sqlserver://localhost:1433;databasename=test</driver-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<driver-properties>
<property name="user" value="sa"/>
<property name="password" value="123"/>
</driver-properties>
<maximum-connection-count>10</maximum-connection-count>
</proxool>
</something-else-entirely>
这个三种方案,我都可以配置成功,可是,郁闷的是,这三种方案,都比我不用连接池的数据要慢,可能是我的测试不准确吧?我只做了连续100000次的数据插入操作。
分享到:
相关推荐
在Hibernate中配置数据库连接池,可以使数据库操作更加高效和便捷。这里有两种常见的配置方法: 1. **C3P0**: C3P0 是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在...
标题提到的“数据库连接池以及hibernate对各种连接池的整合”是指在Java应用中,特别是使用Hibernate作为持久层框架时,如何集成和配置不同的数据库连接池技术。以下是一些主要的开源数据库连接池及其特点: 1. **...
要使用Hibernate结合数据库连接池,首先需要在项目中引入相应的依赖,比如对于HikariCP,可以在Maven或Gradle的配置文件中添加对应的依赖项。然后,配置Hibernate的`hibernate.cfg.xml`文件,指定连接池的类型、...
数据库连接池是Java开发中非常重要的一个组件,它在处理多线程环境下对数据库资源的高效利用和管理中起着关键作用。C3P0是一个开源的Java连接池实现,它提供了一种灵活且功能强大的数据库连接管理方式。在本文中,...
本篇将详细讲解如何在Hibernate中配置第三方数据库连接池——Proxool。 **什么是数据库连接池?** 数据库连接池在应用启动时会预先初始化一定数量的数据库连接,并将其存储起来。当应用程序需要与数据库交互时,它...
Proxool是Apache的一个开源项目,它提供了一个轻量级的数据库连接池实现。本篇将详细介绍如何在Hibernate中配置Proxool连接池。 首先,我们需要在Spring的配置文件`applicationContext.xml`中设置SessionFactory ...
hibernate数据库连接池配置。使用非常方便,参考数据库连接池配置
数据库连接池是现代应用程序开发中的重要组件,它有效地管理和复用数据库连接,从而提高系统性能并减少资源消耗。本文将详细介绍Proxool数据库连接池及其监控功能,通过一个实际的实例来展示其工作原理和使用方法。 ...
数据库连接池的基本原理是预先在内存中创建一定数量的数据库连接,应用程序在需要时可以从池中获取连接,使用完毕后再归还,而不是每次操作都创建新的连接。这大大减少了创建和销毁连接的开销,提高了系统运行效率。...
在当今的Web应用开发中,数据库连接管理是不可或缺的一部分,而数据库连接池技术则是优化这一过程的关键。HibernateC3P0作为一款常用的开源数据库连接池,其高效、稳定的特点使得它在众多开发者中广受欢迎。本文将...
C3P0 可以独立使用,也可以集成到 Hibernate 中,用作 Hibernate 的数据库连接池提供者。通过配置 C3P0 的参数,开发者可以更好地控制连接池的行为,从而提高应用程序的整体性能。 #### 2. C3P0 在 Hibernate 中的...
JavaEE数据库连接池是企业级应用开发中的重要组成部分,它主要负责管理数据库连接,提高数据库访问效率,同时保证系统的稳定性和资源的有效利用。在JavaEE应用程序中,数据库连接的创建和销毁是一个耗时的过程,频繁...
数据库连接池是指在应用程序中预先创建的一组数据库连接,以便快速地响应用户的请求。下面将介绍 Hibernate 配置数据库连接池的三种方法。 方法一:使用 C3P0 连接池 C3P0 是一个流行的开源连接池实现,它提供了高...
本文档将详细探讨如何在Spring与Hibernate框架下实现数据库连接的动态切换。该功能允许用户在登录时选择或输入特定的数据库名称,并在会话期间根据需要更改数据库连接。 #### 二、需求分析 需求场景为:用户在登录...
在IT行业中,数据库连接管理是应用系统性能优化的关键部分,特别是在高并发环境下。"连接池与Spring、Hibernate结合"这个主题涉及到的是如何有效地管理和复用数据库连接,以提高应用程序的效率和响应速度。这里我们...
数据库连接池在初始化时会创建一定数量的数据库连接并存储起来,这些连接在应用程序需要时可以从池中获取,用完后归还到池中,而不是直接关闭。这种预先准备好的连接池可以显著减少数据库连接的创建和销毁次数,...