`
linwei_211
  • 浏览: 192012 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate与数据库连接的几种方式

 
阅读更多
三种连接都是以连接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
分享到:
评论

相关推荐

    数据库连接池以及hibernate对各种连接池的整合

    在Java开发中,数据库连接池是一种重要的资源管理工具,它允许开发者高效地管理和复用数据库连接,从而提高系统的性能和稳定性。数据库连接池的基本原理是预先创建一定数量的数据库连接,当应用程序需要访问数据库时...

    Hibernate连接数据库模拟

    在IT行业中,Hibernate是一个非常重要的Java持久化框架,它简化了与关系型数据库之间的交互,使得开发者能够以对象-关系映射(ORM)的方式处理数据。在这个“Hibernate连接数据库模拟”项目中,我们将会深入探讨如何...

    hibernate连接各种数据库的方法

    下面我们将逐一介绍如何配置几种常见的数据库类型。 ###### 3.2.1 Hypersonic SQL (HSQL) ```xml &lt;property name="hibernate.dialect"&gt;org.hibernate.dialect.HSQLDialect &lt;property name="hibernate.connection....

    j2ee编程连接数据库的几种方法

    本文将详细介绍几种常见的J2EE应用中连接数据库的方法,按照复杂度从高到低进行排列。 1. JDBC(Java Database Connectivity) JDBC是Java语言与各种数据库交互的标准接口。通过JDBC,开发者可以编写SQL语句,执行...

    几种数据库的连接方法源码+文档

    本文将深入探讨几种常见的数据库连接方法,包括源码示例和相关文档,旨在帮助开发者更好地理解和实现数据库的连接。 首先,我们来看看最基本的数据库连接方式——JDBC(Java Database Connectivity)。JDBC是Java...

    Hibernate操作数据库的方法

    Hibernate是一种流行的Java ORM(对象关系映射)框架,它用于简化数据库操作,使得Java开发人员能够以面向对象的方式来操作关系数据库。使用Hibernate,开发者无需直接使用JDBC API,因为Hibernate封装了大部分...

    HibernateC3P0 数据库连接池架包.rar

    HibernateC3P0是Hibernate框架的一个扩展,它集成了C3P0连接池,提供了一种管理数据库连接的有效方式。C3P0是由M-Fabrice Remy创建的,它是一个完全实现了JDBC3规范的数据库连接池实现,具有自动测试连接、自动关闭...

    hibernate插入数据库乱码的解决方式

    ### hibernate插入数据库乱码的解决方式 在处理数据库与应用程序之间的数据交互时,经常会遇到一个令人头疼的问题:字符编码不一致导致的数据乱码。本文将详细介绍如何在使用Hibernate框架进行数据库操作时解决中文...

    Hibernate几种连接池的比较

    4.DBCP 连接配置(JNDI方式) 由于Hibernate3不推荐使用DBCP,以下配置仅供参考。在应用服务器如Tomcat中配置JNDI数据源后,Hibernate配置如下: &lt;?xml version='1.0' encoding='UTF-8'?&gt; &lt;!DOCTYPE hibernate-...

    Hibernate在Tomcat上数据库连接性能改进

    根据提供的标题“Hibernate在Tomcat上数据库连接性能改进”以及描述和部分内容,我们可以总结和扩展出以下几个关键知识点: ### Hibernate与Tomcat环境下的数据库连接优化 #### 1. Hibernate简介 - **定义**:...

    数据库连接通用模块数据库连接通用模块

    数据库连接通用模块是软件开发中的一个重要组成部分,它允许应用程序与各种数据库进行交互,实现数据的存取、查询、更新和管理。在不同的编程语言中,如Java、Python、C#等,都有相应的数据库连接库或模块来实现这一...

    数据库连接池c3p0jar包

    C3P0是一个开源的Java连接池实现,它提供了一种灵活且功能强大的数据库连接管理方式。在本文中,我们将深入探讨C3P0连接池的基本概念、工作原理以及如何在Java项目中配置和使用。 **C3P0简介** C3P0是由David Syer...

    利用Myeclipse简化基于Hibernate的数据库访问.pdf

    - **Properties文件**:用于配置Hibernate的运行参数,如数据库连接信息、方言(dialect)设置等。 - **XML Mapping文件**:这是Hibernate的核心,它定义了对象-关系映射规则,即如何将Java对象映射到数据库表,以及...

    java连接数据库的几种方法

    本文将详细介绍几种常用的Java连接SQL数据库的方式,并重点解析JDBC-ODBC桥接方式及其具体实现。 #### JDBC-ODBC桥接 JDBC-ODBC桥接是一种早期用于Java程序连接数据库的技术,它通过ODBC(Open Database ...

    数据库连接工具

    数据库连接工具是IT行业中至关重要的一个部分,它允许程序员、系统管理员和数据分析人员与各种数据库进行交互,执行查询、更新数据、管理用户权限等任务。在本案例中,标题提到的"数据库连接工具"通常指的是那些能...

    hibernate 执行原生sql的几种方式

    本篇文章将详细介绍在Hibernate中执行原生SQL的几种方式,以及它们各自的适用场景和优缺点。 1. **使用`Session.createSQLQuery()`** Hibernate的`Session`接口提供了`createSQLQuery()`方法,允许我们直接编写SQL...

    hibernate 的createSQLQuery的几种用法

    Hibernate 的 createSQLQuery 的几种用法 Hibernate 的 createSQLQuery 是 Hibernate 框架中的一种强大且灵活的查询机制,它允许开发者使用原生 SQL 语句来查询数据库。下面是 createSQLQuery 的几种常见用法: 一...

    JAVA三种连接数据库的方法

    本文将详细介绍三种主流的Java数据库连接方法:JDBC(Java Database Connectivity)、JNDI(Java Naming and Directory Interface)以及ORM框架(如Hibernate、MyBatis)。 1. **JDBC连接** JDBC是Java语言访问...

    SpringBoot+hibernate+mysql+sqlserver双数据源

    6. 安全性考虑:在实际部署中,需要确保数据库连接的安全性,如使用连接池管理数据库连接,避免资源浪费;另外,敏感信息如数据库密码应加密存储。 7. 数据迁移与同步:在某些场景下,可能需要实现在两个数据库间的...

    HIBERNATE - 符合Java习惯的关系数据库持久化

    1. **配置文件**:用于初始化Hibernate SessionFactory,其中包含数据库连接信息、使用的方言(Dialect)、事务管理策略等。 2. **实体类映射**:定义Java实体类与数据库表之间的映射规则。 3. **JNDI配置**:在企业...

Global site tag (gtag.js) - Google Analytics