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

Spring Hibernate3 配置 C3P0

    博客分类:
  • JAVA
阅读更多
由于Hibernate3不推荐使用DBCP, 所以把连接池换成了C3PO, 配置文件如下:

applicationContext.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xsi:schemaLocation="http://www.springframework.org/schema/beans [url]http://www.springframework.org/schema/beans/spring-beans-2.0.xsd[/url]
            [url]http://www.springframework.org/schema/jee[/url] [url]http://www.springframework.org/schema/jee/spring-jee-2.0.xsd[/url]">
    <bean id="dataSource"
        class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close">
        <property name="driverClass">
            <value>com.mysql.jdbc.Driver</value>
        </property>
        <property name="jdbcUrl">
            <value>jdbc:mysql://192.168.3.110:3306/DBName?useUnicode=true&amp;characterEncoding=GBK</value>
        </property>
        <property name="user">
            <value>root</value>
        </property>
        <property name="password">
            <value>root</value>
        </property>
 
 <!--连接池中保留的最小连接数。-->
        <property name="minPoolSize">
            <value>5</value>
        </property>
 
 <!--连接池中保留的最大连接数。Default: 15 -->
        <property name="maxPoolSize">
            <value>30</value>
        </property>
 
<!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
        <property name="initialPoolSize">
            <value>10</value>
        </property>
 
 <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
        <property name="maxIdleTime">
            <value>60</value>
        </property>
 
 <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
        <property name="acquireIncrement">
            <value>5</value>
        </property>
 
 <!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements
  属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。
  如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0-->
        <property name="maxStatements">
            <value>0</value>
        </property>
 
 <!--每60秒检查所有连接池中的空闲连接。Default: 0 -->
        <property name="idleConnectionTestPeriod">
            <value>60</value>
        </property>
 
 <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
        <property name="acquireRetryAttempts">
            <value>30</value>
        </property>
 
 <!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效
  保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试
  获取连接失败后该数据源将申明已断开并永久关闭。Default: false-->
        <property name="breakAfterAcquireFailure">
            <value>true</value>
        </property>
 
 <!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的
  时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable
  等方法来提升连接测试的性能。Default: false -->
        <property name="testConnectionOnCheckout">
            <value>false</value>
        </property>
    </bean>
    <!-- Hibernate SessionFactory -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref local="dataSource" />
        </property>
        <property name="mappingResources">
            <list>
                <value>com/xh/hibernate/vo/User.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.generate_statistics">true</prop>
                <prop key="hibernate.connection.release_mode">auto</prop>
                <prop key="hibernate.autoReconnect">true</prop>
            </props>
        </property>
    </bean>
</beans>
16
2
分享到:
评论
1 楼 corejava2008 2010-10-29  
不错 很详细 呵呵

相关推荐

    SSH - SpringMVC4 + Spring4 + Hibernate4 + c3p0 + Mysql.zip

    在本项目"SSH - SpringMVC4 + Spring4 + Hibernate4 + c3p0 + Mysql.zip"中,开发者使用了SpringMVC4作为表现层,Spring4作为控制层和服务层,Hibernate4作为持久层,c3p0作为数据库连接池,以及MySQL作为数据库。...

    Spring +struts+c3p0 框架demo

    【Spring + Struts + C3P0 框架整合详解】 在软件开发领域,Spring、Struts 和 C3P0 是三个非常重要的开源框架,它们分别负责不同的职责,共同构建了一个高效、稳定的Web应用程序。Spring 作为核心的依赖注入(DI)...

    C3P0连接池配置需要的jar包

    配置C3P0连接池时,开发者通常需要在配置文件(如Hibernate的`hibernate.cfg.xml`或Spring的`applicationContext.xml`)中指定以下参数: - `driver_class`: 数据库驱动类名,例如`com.mysql.jdbc.Driver`。 - `...

    SSH - Struts2 + Spring4 + Hibernate4 + c3p0 + Mysql.rar

    这个项目可能涵盖了用户登录注册、数据展示、CRUD操作等基本功能,通过Struts2接收和响应用户请求,Spring4管理业务逻辑和依赖,Hibernate4处理数据持久化,c3p0优化数据库连接,MySQL存储所有数据。开发者可以通过...

    SSH整合学习笔记之struts2+spring+hibernate+c3p0源码

    SSH整合是Java Web开发中的一个经典组合,由Struts2、Spring和Hibernate三大框架组成,再加上C3P0作为数据库连接池,形成了高效且灵活的应用架构。本学习笔记将深入探讨这四个组件如何协同工作,构建出强大的企业级...

    SSH整合学习笔记之spring与hibernate整合(二)之c3p0

    整合Spring和Hibernate时,我们需要在Spring的配置文件中定义数据源,这里就是使用c3p0作为数据源。以下是一个简单的配置示例: ```xml &lt;bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"&gt;...

    spring4+hibernate+springmvc+c3p0

    标题 "spring4+hibernate+springmvc+c3p0" 涉及的是一个经典的Java后端开发架构,主要用于构建高效、稳定的Web应用程序。这个架构由四个主要组件构成: 1. **Spring 4**:这是一个全面的企业级应用开发框架,提供...

    c3p0配置及jar包

    下面我们将详细介绍c3p0的配置以及在Spring中的使用,并讨论与Hibernate集成的优势。 **一、c3p0的核心概念** 1. **连接池**: c3p0维护了一个数据库连接的池,通过复用已存在的连接而不是每次请求时创建新的连接,...

    sturts2+spring2.5+hibernate3.5+c3p0+log4j整合示例项目

    3. **配置c3p0**:在Hibernate配置中添加c3p0的相关属性,如初始化大小、最大连接数等。 4. **配置Spring**:定义bean,包括DAO、Service、Action等,配置数据源。 5. **配置Struts2**:创建struts.xml,定义Action...

    spring4配置hibernate3

    4. **配置DataSource**:同样在Spring配置文件中,定义一个DataSource Bean,这通常是连接池的实现,如Apache DBCP或C3P0,用于管理数据库连接。 5. **配置Hibernate SessionFactory Bean**:使用`...

    C3P0-jar包和依赖包.zip

    在实际应用中,C3P0可以与各种Java持久层框架如Hibernate、Spring JDBC等结合使用,以提升整体应用的性能。配置C3P0时,需要关注其与具体数据库驱动的兼容性,以及适当的配置参数以满足应用的性能需求和资源限制。 ...

    c3p0jar包及配置文件(可用)

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate、Spring等。 适合人群:正在学习使用数据库连接池 里面的配置文件直接可用,少走弯路,...

    sqlite-c3p0.

    开发者需要理解SQLite的特性,掌握C3P0的配置和使用,以及Spring和Hibernate的集成方式。这个组合在小型项目中是一个有效的解决方案,因为它提供了数据库管理的灵活性,同时也兼顾了开发效率和资源利用率。

    c3p0-0.9 jar

    例如,当你在配置Hibernate时,可以在`hibernate-cfg.xml`中添加C3P0的相关配置,指定数据源类型为C3P0,并设置初始化连接数、最大连接数、最小空闲连接数等参数。这使得Hibernate能够利用C3P0的连接池进行数据库...

    C3P0连接池jar包(正式).zip

    3. **初始化C3P0**:在代码中创建` ComboPooledDataSource `对象,并加载配置,或者在Spring等框架中通过XML或注解方式配置C3P0数据源。 4. **获取与释放连接**:使用`getConnection()`方法从数据源获取连接,使用...

    c3p0-0.9.1.2.zip

    Spring框架同样支持C3P0,开发者可以在Spring的配置文件中声明C3P0的数据源,以便在Spring管理的bean中透明地使用数据库连接。 总的来说,C3P0是Java开发中一个实用的数据库连接池组件,它为Java应用提供了高效的...

    c3p0的jar包

    C3P0作为一款成熟的连接池实现,被广泛应用于大型企业级应用,如Hibernate和Spring框架,它们都支持C3P0作为其默认或可选的连接池实现。使用C3P0能够提高系统的响应速度,减少资源消耗,并通过灵活的配置以应对各种...

    c3p0最新jar包

    C3P0在Java社区中享有较高的声誉,因为它兼容了JDBC3和JDBC2的标准扩展,并且被知名框架如Hibernate和Spring所采纳。 C3P0的核心特性包括: 1. **连接池管理**:C3P0能够管理和维护数据库连接,避免频繁创建和销毁...

    hibernate+spring配置详细解析

    ### Hibernate与Spring集成配置详解 #### 一、概述 在现代Java企业级应用开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,能够极大简化数据库操作;而Spring作为一个全面的企业级应用开发框架,提供了...

    数据库连接池c3p0jar包

    C3P0支持多种数据库,包括MySQL、Oracle、PostgreSQL等,并且与Hibernate、Spring等框架有良好的集成。 **C3P0的工作原理** 1. **连接初始化**:当应用程序启动时,C3P0会根据配置参数预先创建一定数量的数据库连接...

Global site tag (gtag.js) - Google Analytics