`
xp9802
  • 浏览: 1214387 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

如何在Spring Hibernate 配置 C3P0

阅读更多

由于Hibernate3不推荐使用DBCP, 所以把连接池换成了C3PO, 配置文件如下: 

applicationContext.xml 文件: 

Xml代码  

  1. <?xml version="1.0" encoding="UTF-8"?>  

  2. <beans xmlns="http://www.springframework.org/schema/beans"  

  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

  4.     xmlns:jee="http://www.springframework.org/schema/jee"  

  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans [url]http://www.springframework.org/schema/beans/spring-beans-2.0.xsd[/url]  

  6.             [url]http://www.springframework.org/schema/jee[/url] [url]http://www.springframework.org/schema/jee/spring-jee-2.0.xsd[/url]">  

  7.     <bean id="dataSource"  

  8.         class="com.mchange.v2.c3p0.ComboPooledDataSource"  

  9.         destroy-method="close">  

  10.         <property name="driverClass">  

  11.             <value>com.mysql.jdbc.Driver</value>  

  12.         </property>  

  13.         <property name="jdbcUrl">  

  14.             <value>jdbc:mysql://192.168.3.110:3306/DBName?useUnicode=true&amp;characterEncoding=GBK</value>  

  15.         </property>  

  16.         <property name="user">  

  17.             <value>root</value>  

  18.         </property>  

  19.         <property name="password">  

  20.             <value>root</value>  

  21.         </property>  

  22.    

  23.  <!--连接池中保留的最小连接数。-->  

  24.         <property name="minPoolSize">  

  25.             <value>5</value>  

  26.         </property>  

  27.    

  28.  <!--连接池中保留的最大连接数。Default: 15 -->  

  29.         <property name="maxPoolSize">  

  30.             <value>30</value>  

  31.         </property>  

  32.    

  33. <!--初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->  

  34.         <property name="initialPoolSize">  

  35.             <value>10</value>  

  36.         </property>  

  37.    

  38.  <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->  

  39.         <property name="maxIdleTime">  

  40.             <value>60</value>  

  41.         </property>  

  42.    

  43.  <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->  

  44.         <property name="acquireIncrement">  

  45.             <value>5</value>  

  46.         </property>  

  47.    

  48.  <!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements  

  49.   属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。  

  50.   如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0-->  

  51.         <property name="maxStatements">  

  52.             <value>0</value>  

  53.         </property>  

  54.    

  55.  <!--每60秒检查所有连接池中的空闲连接。Default: 0 -->  

  56.         <property name="idleConnectionTestPeriod">  

  57.             <value>60</value>  

  58.         </property>  

  59.    

  60.  <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->  

  61.         <property name="acquireRetryAttempts">  

  62.             <value>30</value>  

  63.         </property>  

  64.    

  65.  <!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效  

  66.   保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试  

  67.   获取连接失败后该数据源将申明已断开并永久关闭。Default: false-->  

  68.         <property name="breakAfterAcquireFailure">  

  69.             <value>true</value>  

  70.         </property>  

  71.    

  72.  <!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的  

  73.   时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable  

  74.   等方法来提升连接测试的性能。Default: false -->  

  75.         <property name="testConnectionOnCheckout">  

  76.             <value>false</value>  

  77.         </property>  

  78.     </bean>  

  79.  

  80.     <!-- Hibernate SessionFactory -->  

  81.     <bean id="sessionFactory"  

  82.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  

  83.         <property name="dataSource">  

  84.             <ref local="dataSource" />  

  85.         </property>  

  86.         <property name="mappingResources">  

  87.             <list>  

  88.                 <value>com/xh/hibernate/vo/User.hbm.xml</value>  

  89.             </list>  

  90.         </property>  

  91.         <property name="hibernateProperties">  

  92.             <props>  

  93.                 <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>  

  94.                 <prop key="hibernate.show_sql">true</prop>  

  95.                 <prop key="hibernate.generate_statistics">true</prop>  

  96.                 <prop key="hibernate.connection.release_mode">auto</prop>  

  97.                 <prop key="hibernate.autoReconnect">true</prop>  

  98.             </props>  

  99.         </property>  

  100.     </bean>  

 

<bean id="sessionFactory"

    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

    <property name="dataSource">

        <ref bean="dataSource" />

    </property>

    <property name="packagesToScan">

        <list>

            <value>com.jinlingnet.example.model</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>

<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">

<property name="sessionFactory" ref="sessionFactory"></property>

</bean>

</beans>  

分享到:
评论

相关推荐

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

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

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

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

    C3P0连接池配置需要的jar包

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

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

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

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

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

    spring4+hibernate+springmvc+c3p0

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

    c3p0配置及jar包

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

    hibernate+spring配置详细解析

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

    Spring +struts+c3p0 框架demo

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

    hibernate+spring配置文件

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

    spring4配置hibernate3

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

    配置Spring数据源 c3p0与dbcp

    在Spring中,有两种常见的开源数据源实现:Apache的DBCP(Database Connection Pool)和C3P0。下面将详细讨论这两种数据源的配置和特性。 **DBCP数据源配置** Apache的DBCP是一个基于Jakarta Commons Pool的对象池...

    sqlite-c3p0.

    集成这些组件到Spring框架中,通常需要在Spring的配置文件中声明C3P0数据源,并设置相关属性,如最大连接数、最小连接数、超时时间等。同时,Hibernate的配置也需要指定使用C3P0连接池,并提供SQLite的JDBC驱动类名...

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

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

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

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

    C3P0-jar包和依赖包.zip

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

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

    2. **配置C3P0**:在配置文件(如`c3p0.properties`或应用配置文件)中设置连接池的相关参数,如数据库驱动、URL、用户名、密码以及连接池的初始化大小、最大大小等。 3. **初始化C3P0**:在代码中创建` ...

    c3p0jar包及配置文件(可用)

    内容概要:c3p0连接池需要jar包.rar以及相关配置文件 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate、Spring等。 适合人群:正在学习...

    ssh3中使用c3p0

    2. **配置C3P0**:在Hibernate的配置文件(如hibernate.cfg.xml)中,添加C3P0的相关配置。例如: ```xml &lt;property name="hibernate.c3p0.min_size"&gt;5 &lt;property name="hibernate.c3p0.max_size"&gt;20 ...

    c3p0-0.9.1.2.zip

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

Global site tag (gtag.js) - Google Analytics