由于Hibernate3不推荐使用DBCP, 所以把连接池换成了C3PO, 配置文件如下:
applicationContext.xml 文件:
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&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>
<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"中,开发者使用了SpringMVC4作为表现层,Spring4作为控制层和服务层,Hibernate4作为持久层,c3p0作为数据库连接池,以及MySQL作为数据库。...
整合Spring和Hibernate时,我们需要在Spring的配置文件中定义数据源,这里就是使用c3p0作为数据源。以下是一个简单的配置示例: ```xml <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">...
配置C3P0连接池时,开发者通常需要在配置文件(如Hibernate的`hibernate.cfg.xml`或Spring的`applicationContext.xml`)中指定以下参数: - `driver_class`: 数据库驱动类名,例如`com.mysql.jdbc.Driver`。 - `...
SSH整合是Java Web开发中的一个经典组合,由Struts2、Spring和Hibernate三大框架组成,再加上C3P0作为数据库连接池,形成了高效且灵活的应用架构。本学习笔记将深入探讨这四个组件如何协同工作,构建出强大的企业级...
这个项目可能涵盖了用户登录注册、数据展示、CRUD操作等基本功能,通过Struts2接收和响应用户请求,Spring4管理业务逻辑和依赖,Hibernate4处理数据持久化,c3p0优化数据库连接,MySQL存储所有数据。开发者可以通过...
标题 "spring4+hibernate+springmvc+c3p0" 涉及的是一个经典的Java后端开发架构,主要用于构建高效、稳定的Web应用程序。这个架构由四个主要组件构成: 1. **Spring 4**:这是一个全面的企业级应用开发框架,提供...
下面我们将详细介绍c3p0的配置以及在Spring中的使用,并讨论与Hibernate集成的优势。 **一、c3p0的核心概念** 1. **连接池**: c3p0维护了一个数据库连接的池,通过复用已存在的连接而不是每次请求时创建新的连接,...
### Hibernate与Spring集成配置详解 #### 一、概述 在现代Java企业级应用开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,能够极大简化数据库操作;而Spring作为一个全面的企业级应用开发框架,提供了...
在软件开发领域,Spring、Struts 和 C3P0 是三个非常重要的开源框架,它们分别负责不同的职责,共同构建了一个高效、稳定的Web应用程序。Spring 作为核心的依赖注入(DI)和面向切面编程(AOP)框架,Struts 提供了...
可以使用Apache的Commons DBCP或C3P0等连接池。 - **HibernateTemplate**或`HibernateSession`:Spring提供这两个bean来简化Hibernate操作,它们会在事务管理下执行HQL(Hibernate Query Language)或SQL。 2. **...
4. **配置DataSource**:同样在Spring配置文件中,定义一个DataSource Bean,这通常是连接池的实现,如Apache DBCP或C3P0,用于管理数据库连接。 5. **配置Hibernate SessionFactory Bean**:使用`...
在Spring中,有两种常见的开源数据源实现:Apache的DBCP(Database Connection Pool)和C3P0。下面将详细讨论这两种数据源的配置和特性。 **DBCP数据源配置** Apache的DBCP是一个基于Jakarta Commons Pool的对象池...
集成这些组件到Spring框架中,通常需要在Spring的配置文件中声明C3P0数据源,并设置相关属性,如最大连接数、最小连接数、超时时间等。同时,Hibernate的配置也需要指定使用C3P0连接池,并提供SQLite的JDBC驱动类名...
在这个项目中,c3p0被集成到Spring配置中,为Hibernate提供连接池服务,确保多个并发请求时能高效地获取和释放数据库连接。 ### Log4j日志系统 Log4j是Apache的一个开源项目,用于记录程序运行时的日志信息。它...
数据库的链接包是MySQl数据库,链接使用的C3P0 SSH是 struts+spring+hibernate的一个集成框架,是目前比较流行的一种Web应用程序开源框架 现在的结构是,Struts负责显示层,Hibernate负责持久层,Spring负责中间的...
在实际应用中,C3P0可以与各种Java持久层框架如Hibernate、Spring JDBC等结合使用,以提升整体应用的性能。配置C3P0时,需要关注其与具体数据库驱动的兼容性,以及适当的配置参数以满足应用的性能需求和资源限制。 ...
2. **配置C3P0**:在配置文件(如`c3p0.properties`或应用配置文件)中设置连接池的相关参数,如数据库驱动、URL、用户名、密码以及连接池的初始化大小、最大大小等。 3. **初始化C3P0**:在代码中创建` ...
内容概要:c3p0连接池需要jar包.rar以及相关配置文件 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate、Spring等。 适合人群:正在学习...
2. **配置C3P0**:在Hibernate的配置文件(如hibernate.cfg.xml)中,添加C3P0的相关配置。例如: ```xml <property name="hibernate.c3p0.min_size">5 <property name="hibernate.c3p0.max_size">20 ...
Spring框架同样支持C3P0,开发者可以在Spring的配置文件中声明C3P0的数据源,以便在Spring管理的bean中透明地使用数据库连接。 总的来说,C3P0是Java开发中一个实用的数据库连接池组件,它为Java应用提供了高效的...