`

Spring 结合 Hibernate 配置 C3P0

    博客分类:
  • Java
阅读更多
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 http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
            http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd">
    <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>
 
分享到:
评论

相关推荐

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

    在本项目"SSH - SpringMVC4 + Spring4 + Hibernate4 + c3p0 + Mysql.zip"中,开发者使用了SpringMVC4作为表现层,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;...

    Spring +struts+c3p0 框架demo

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

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

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

    C3P0连接池配置需要的jar包

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

    struts+spring+hibernate基础整合包+数据库Mysql+C3p0

    数据库的链接包是MySQl数据库,链接使用的C3P0 SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架 现在的结构是,Struts负责显示层,Hibernate负责持久层,Spring负责中间的...

    spring4+hibernate+springmvc+c3p0

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

    spring-hibernate jar包

    在实际应用中,开发者通常会使用 Spring 的 `LocalSessionFactoryBean` 来配置 Hibernate 的 SessionFactory,并结合 c3p0 数据源,实现 Spring 和 Hibernate 的整合。这可以通过 Spring 的 XML 配置文件或者 Java...

    c3p0配置及jar包

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

    连接池与Spring,Hibernate结合

    常见的连接池实现有Apache的DBCP、C3P0、HikariCP和Tomcat JDBC Connection Pool等。 Spring框架在数据源管理方面提供了强大的支持。通过配置不同的DataSource类型,Spring可以无缝地与各种连接池集成。例如,使用`...

    spring4配置hibernate3

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

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

    在这个项目中,c3p0被集成到Spring配置中,为Hibernate提供连接池服务,确保多个并发请求时能高效地获取和释放数据库连接。 ### Log4j日志系统 Log4j是Apache的一个开源项目,用于记录程序运行时的日志信息。它...

    sqlite-c3p0.

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

    spring+hibernate 解决大字段(clob)

    &lt;bean id="C3PONativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor" lazy-init="true"/&gt; ``` 这里的关键在于配置了`lobHandler` Bean来处理CLOB和BLOB类型的字段。...

    hibernate+spring配置详细解析

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

    spring整合hibernate的jar包

    10. **c3p0-0.9.1.2.jar**:C3P0是一个开源的JDBC连接池,用于管理数据库连接,提高数据库操作的性能和效率。 整合Spring和Hibernate时,通常会通过Spring的DataSource、SessionFactory和HibernateTemplate或...

    Jbpm+Spring+hibernate+struts2+mysql+c3p0部署

    Jbpm+Spring+hibernate+struts2+mysql+c3p0项目部署

    hibernate+spring配置文件

    可以使用Apache的Commons DBCP或C3P0等连接池。 - **HibernateTemplate**或`HibernateSession`:Spring提供这两个bean来简化Hibernate操作,它们会在事务管理下执行HQL(Hibernate Query Language)或SQL。 2. **...

    c3p0最新jar包

    例如,在Hibernate中,通过配置`hibernate-c3p0`模块,可以在SessionFactory的创建过程中指定C3P0作为连接池实现。 总之,C3P0作为一个成熟的数据库连接池解决方案,为Java开发者提供了强大且灵活的数据库连接管理...

Global site tag (gtag.js) - Google Analytics