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&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>
出自 51CTO.COM博客
分享到:
相关推荐
**C3P0连接池**是Java开发中广泛使用的数据库连接池组件,它极大地提高了数据库访问的效率,降低了系统的资源消耗。在SSH(Struts、Spring、Hibernate)框架的开发中,C3P0作为数据库连接池的选择,能够有效地管理...
通过以上步骤,你已经成功地在SSH3框架中集成了C3P0连接池,提高了数据库访问的效率。在实际应用中,还可以根据项目的具体需求调整C3P0的配置参数,以达到最佳性能。同时,别忘了定期监控和优化连接池的使用情况,...
例如,C3P0提供了一套完整的连接池配置参数,包括最小连接数、最大连接数、连接超时时间等,通过调整这些参数,开发者可以根据实际需求和系统负载来优化连接池性能。 在SSH整合中,Spring框架通常扮演着整合者的...
在本项目中,我们将讨论如何通过Maven进行依赖管理,XML配置文件的使用,以及C3P0连接池的整合。 首先,Spring框架是整个应用的核心,它负责管理对象的生命周期和依赖关系。在整合SSH时,我们需要在Spring的配置...
在Spring配置文件中,我们可以通过以下方式配置C3P0连接池: ```xml <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!-- 更多配置属性 --> ``` **5. CURD操作和分页** 在...
在本项目"SSH - SpringMVC4 + Spring4 + Hibernate4 + c3p0 + Mysql.zip"中,开发者使用了SpringMVC4作为表现层,Spring4作为控制层和服务层,Hibernate4作为持久层,c3p0作为数据库连接池,以及MySQL作为数据库。...
SSH整合是Java Web开发中的一个经典组合,由Struts2、Spring和Hibernate三大框架组成,再加上C3P0作为数据库连接池,形成了高效且灵活的应用架构。本学习笔记将深入探讨这四个组件如何协同工作,构建出强大的企业级...
c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,提供数据库连接的自动创建、释放等功能,提高了数据库连接的使用效率。在SSH项目中,c3p0被用来管理和优化数据库连接,确保在高并发环境下仍能高效地处理...
在`hibernate.cfg.xml`文件中,我们需要指定实体类的扫描路径以及c3p0连接池的配置。这样,Spring就能自动创建并管理SessionFactory,使得我们可以在应用代码中通过Spring的`@Autowired`注解注入SessionFactory,...
- `sqlDataSource`: 使用C3P0连接池配置SQL Server的数据源。 - `driverClass`: 数据库驱动类。 - `jdbcUrl`: 数据库URL。 - `user`: 用户名。 - `password`: 密码。 - `autoCommitOnClose`: 自动提交设置。 ...
### 数据源和连接池知识点详解 #### 一、概述 在现代Web开发中,数据库连接是极其宝贵的资源。...此外,选择合适的连接池实现(如DBCP、C3P0或HikariCP)以及正确配置这些连接池,都是优化数据库访问的关键因素。
在实际应用中,成熟的连接池库如Apache的DBCP、C3P0、HikariCP等,已经提供了这些功能,并经过了广泛的测试和优化。不过,自己编写连接池有助于理解数据库连接管理和性能优化的原理,对于学习和研究是有益的。 在...
7. **其他连接池组件**:除了DBCP,还有其他流行的数据库连接池组件,如C3P0、HikariCP、Druid等。这些组件各有优劣,选择时应根据项目需求和性能测试结果来决定。 8. **监控与维护**:在生产环境中,应定期监控...
在SSH框架中,为了实现高效的数据库连接池管理,通常会采用C3P0作为数据源组件。C3P0是一款开放源代码的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。下面是从给定的部分内容中提取到的...
常见的连接池有Apache的DBCP、C3P0,还有HikariCP等。它们允许开发者在需要时获取连接,用完后归还,而不是每次都创建新的连接,这样能有效减少数据库的开销。 **3. JSP(JavaServer Pages)** JSP是一种动态网页...
至此,我们已经成功地在SSH框架下配置了C3P0连接池。在实际开发中,根据项目需求,还可以进行更复杂的配置,如设置事务管理器、缓存策略等。 在SSH框架中使用连接池,不仅可以提高数据库操作的效率,还能有效地管理...
6. **整合c3p0**:在Spring配置文件中引入c3p0的数据源,并在Hibernate配置文件中指定使用该数据源。 7. **编写视图**:使用JSP或FreeMarker等技术创建视图,根据Struts2的结果转发规则进行页面跳转。 8. **测试...
当我们谈论"SSH整合c3p0"时,这里涉及到的是在Hibernate中引入c3p0连接池。C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。使用c3p0可以有效地管理数据库连接,提高系统...
为了优化性能,可以使用连接池来管理数据库连接,如C3P0、Apache DBCP或HikariCP。 总结,SSH框架与Oracle、SQL Server和MySQL的连接涉及Spring的IoC容器、Struts2的动作调用以及Hibernate的对象映射。通过合理的...