三种连接都是以连接MySQl为例。
<!-- JDBC驱动程序 -->
<property name="connection.driver_class">org.gjt.mm.mysql.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK</property> <!-- 数据库用户名 -->
<property name="connection.username">root</property> <!-- 数据库密码 -->
<property name="connection.password">8888</property>
上面的一段配置,在c3p0和dbcp中,都是必需的,因为hibernate会根据上述的配置来生成connections,再交给c3p0或dbcp管理.但是,proxool则不能,虽然说服文档上说proxool也可以和hibernate结合,但我按照官方文档上的说明怎么配也出错,而且,到了sun和hibernat有的官方网站上问了几天,都没有一个人回复。后来我只能让proxool自身来生成连接,这在下面再讲。
1 C3P0
只需在hibernate.cfg.xml中加入
<property name="c3p0.min_size">5</property>
<property name="c3p0.max_size">30</property>
<property name="c3p0.time_out">1800</property>
<property name="c3p0.max_statement">50</property>
还有在classespath中加入c3p0-0.8.4.5.jar
2 dbcp
在hibernate.cfg.xml中加入
<property name="dbcp.maxActive">100</property>
<property name="dbcp.whenExhaustedAction">1</property>
<property name="dbcp.maxWait">60000</property>
<property name="dbcp.maxIdle">10</property>
<property name="dbcp.ps.maxActive">100</property>
<property name="dbcp.ps.whenExhaustedAction">1</property>
<property name="dbcp.ps.maxWait">60000</property>
<property name="dbcp.ps.maxIdle">10</property>
还有在classespath中加入commons-pool-1.2.jar 和commons-dbcp-1.2.1.jar.
3 proxool
在hibernate.cfg.xml中加入
<property name="proxool.pool_alias">pool1</property>
<property name="proxool.xml">ProxoolConf.xml</property>
<property name="connection.provider_class">net.sf.hibernate.connection.ProxoolConnectionProvider</property>
然后,在和hibernate.cfg.xml同一个目录下,加一个ProxoolConf.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>pool1</alias>
<!--proxool只能管理由自己产生的连接-->
<driver-url>jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=GBK</driver-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<driver-properties>
<property name="user" value="root"/>
<property name="password" value="8888"/>
</driver-properties>
<!-- proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁-->
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受-->
<maximum-new-connections>20</maximum-new-connections>
<!-- 最少保持的空闲连接数-->
<prototype-count>5</prototype-count>
<!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定-->
<maximum-connection-count>100</maximum-connection-count>
<!-- 最小连接数-->
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</something-else-entirely>
并在classespath中加入proxool-0.8.3.jar
分享到:
相关推荐
在Java开发中,数据库连接池是一种重要的资源管理工具,它允许开发者高效地管理和复用数据库连接,从而提高系统的性能和稳定性。数据库连接池的基本原理是预先创建一定数量的数据库连接,当应用程序需要访问数据库时...
在IT行业中,Hibernate是一个非常重要的Java持久化框架,它简化了与关系型数据库之间的交互,使得开发者能够以对象-关系映射(ORM)的方式处理数据。在这个“Hibernate连接数据库模拟”项目中,我们将会深入探讨如何...
下面我们将逐一介绍如何配置几种常见的数据库类型。 ###### 3.2.1 Hypersonic SQL (HSQL) ```xml <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect <property name="hibernate.connection....
本文将详细介绍几种常见的J2EE应用中连接数据库的方法,按照复杂度从高到低进行排列。 1. JDBC(Java Database Connectivity) JDBC是Java语言与各种数据库交互的标准接口。通过JDBC,开发者可以编写SQL语句,执行...
本文将深入探讨几种常见的数据库连接方法,包括源码示例和相关文档,旨在帮助开发者更好地理解和实现数据库的连接。 首先,我们来看看最基本的数据库连接方式——JDBC(Java Database Connectivity)。JDBC是Java...
Hibernate是一种流行的Java ORM(对象关系映射)框架,它用于简化数据库操作,使得Java开发人员能够以面向对象的方式来操作关系数据库。使用Hibernate,开发者无需直接使用JDBC API,因为Hibernate封装了大部分...
HibernateC3P0是Hibernate框架的一个扩展,它集成了C3P0连接池,提供了一种管理数据库连接的有效方式。C3P0是由M-Fabrice Remy创建的,它是一个完全实现了JDBC3规范的数据库连接池实现,具有自动测试连接、自动关闭...
### hibernate插入数据库乱码的解决方式 在处理数据库与应用程序之间的数据交互时,经常会遇到一个令人头疼的问题:字符编码不一致导致的数据乱码。本文将详细介绍如何在使用Hibernate框架进行数据库操作时解决中文...
4.DBCP 连接配置(JNDI方式) 由于Hibernate3不推荐使用DBCP,以下配置仅供参考。在应用服务器如Tomcat中配置JNDI数据源后,Hibernate配置如下: <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-...
根据提供的标题“Hibernate在Tomcat上数据库连接性能改进”以及描述和部分内容,我们可以总结和扩展出以下几个关键知识点: ### Hibernate与Tomcat环境下的数据库连接优化 #### 1. Hibernate简介 - **定义**:...
数据库连接通用模块是软件开发中的一个重要组成部分,它允许应用程序与各种数据库进行交互,实现数据的存取、查询、更新和管理。在不同的编程语言中,如Java、Python、C#等,都有相应的数据库连接库或模块来实现这一...
C3P0是一个开源的Java连接池实现,它提供了一种灵活且功能强大的数据库连接管理方式。在本文中,我们将深入探讨C3P0连接池的基本概念、工作原理以及如何在Java项目中配置和使用。 **C3P0简介** C3P0是由David Syer...
- **Properties文件**:用于配置Hibernate的运行参数,如数据库连接信息、方言(dialect)设置等。 - **XML Mapping文件**:这是Hibernate的核心,它定义了对象-关系映射规则,即如何将Java对象映射到数据库表,以及...
本文将详细介绍几种常用的Java连接SQL数据库的方式,并重点解析JDBC-ODBC桥接方式及其具体实现。 #### JDBC-ODBC桥接 JDBC-ODBC桥接是一种早期用于Java程序连接数据库的技术,它通过ODBC(Open Database ...
数据库连接工具是IT行业中至关重要的一个部分,它允许程序员、系统管理员和数据分析人员与各种数据库进行交互,执行查询、更新数据、管理用户权限等任务。在本案例中,标题提到的"数据库连接工具"通常指的是那些能...
本篇文章将详细介绍在Hibernate中执行原生SQL的几种方式,以及它们各自的适用场景和优缺点。 1. **使用`Session.createSQLQuery()`** Hibernate的`Session`接口提供了`createSQLQuery()`方法,允许我们直接编写SQL...
Hibernate 的 createSQLQuery 的几种用法 Hibernate 的 createSQLQuery 是 Hibernate 框架中的一种强大且灵活的查询机制,它允许开发者使用原生 SQL 语句来查询数据库。下面是 createSQLQuery 的几种常见用法: 一...
本文将详细介绍三种主流的Java数据库连接方法:JDBC(Java Database Connectivity)、JNDI(Java Naming and Directory Interface)以及ORM框架(如Hibernate、MyBatis)。 1. **JDBC连接** JDBC是Java语言访问...
6. 安全性考虑:在实际部署中,需要确保数据库连接的安全性,如使用连接池管理数据库连接,避免资源浪费;另外,敏感信息如数据库密码应加密存储。 7. 数据迁移与同步:在某些场景下,可能需要实现在两个数据库间的...
1. **配置文件**:用于初始化Hibernate SessionFactory,其中包含数据库连接信息、使用的方言(Dialect)、事务管理策略等。 2. **实体类映射**:定义Java实体类与数据库表之间的映射规则。 3. **JNDI配置**:在企业...