C3P0版本:c3p0-0.9.1.2.jar
spring applicationContext.xml配置:
如果将数据源参数配置在*.properties文件中,则必须用spring的PropertyPlaceholderConfigurer加载配置文件。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- 配置数据源 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="/WEB-INF/database-config.properties" />
</bean>
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${love.driver}"></property>
<property name="jdbcUrl" value="${love.url}"></property>
<property name="user" value="${love.username}"></property>
<property name="password" value="${love.password}"></property>
<!-- 详细参数说明参见database-config.properties -->
<property name="initialPoolSize" value="${love.initialPoolSize}"></property>
<property name="minPoolSize" value="${love.minPoolSize}"></property>
<property name="maxPoolSize" value="${love.maxPoolSize}"></property>
<property name="maxIdleTime" value="${love.maxIdleTime}"></property>
<property name="acquireIncrement" value="${love.acquireIncrement}"></property>
<property name="idleConnectionTestPeriod" value="${love.idleConnectionTestPeriod}"></property>
<property name="acquireRetryAttempts" value="${love.acquireRetryAttempts}"></property>
<property name="breakAfterAcquireFailure" value="${love.breakAfterAcquireFailure}"></property>
<property name="maxStatements" value="${love.maxStatements}"></property>
<property name="testConnectionOnCheckout" value="${love.testConnectionOnCheckout}"></property>
</bean>
database-config.properties 配置:(mysql数据库, 部份内容摘自互联网)
##基础配置:
love.driver=org.gjt.mm.mysql.Driver
love.url=jdbc:mysql://127.0.0.1:3306/love?autoReconnect=true&characterEncoding=utf-8
love.username=root
love.password=123456
##初始化时获取的连接数,取值应在minPoolSize与maxPoolSize之间。Default: 3
love.initialPoolSize=10
##连接池中保留的最小连接数
love.minPoolSize=5
##连接池中保留的最大连接数,Default: 15
love.maxPoolSize=30
##最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0
love.maxIdleTime=60
##当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3
love.acquireIncrement=5
##每60秒检查所有连接池中的空闲连接。Default: 0
love.idleConnectionTestPeriod=60
##定义在从数据库获取新连接失败后重复尝试的次数。Default: 30
love.acquireRetryAttempts=20
##获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效
##保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试
##获取连接失败后该数据源将申明已断开并永久关闭。Default: false
love.breakAfterAcquireFailure=true
##JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements
##属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。
##如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0
love.maxStatements=0
##因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的
##时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable
##等方法来提升连接测试的性能。Default: false
love.testConnectionOnCheckout=false
DAO里获取连接,这里用的的spring的注入方式:
public class TestDAO{
private javax.sql.DataSource dataSource;
public void setDataSource(DataSource dataSource){
this.dataSource = dataSource;
}
public TestModel getById(int id){
Connection conn = dataSource.getConnection();
..............
}
}
分享到:
相关推荐
总结,Spring配置C3P0连接池涉及到添加依赖、在Spring配置文件中定义数据源bean以及配置C3P0的相关参数。通过这种方式,我们可以有效地管理和利用数据库连接,提高系统的稳定性和效率。在实际项目中,还需要根据具体...
总的来说,"spring c3p0小例子"是一个关于如何在Spring项目中集成C3P0连接池的示例,通过Maven管理依赖,配置C3P0数据源,以及创建和配置DAO来执行数据库操作。这个例子可以帮助开发者理解Spring与C3P0结合使用时的...
### Spring与C3P0数据源配置详解 #### 一、Spring框架简介 Spring框架是一个开源的Java平台,它提供了一种全面的方式来构建应用程序。Spring的核心特性包括依赖注入(Dependency Injection, DI)和面向切面编程...
配置 C3P0 数据源通常涉及以下几个步骤: 1. **引入依赖**:首先,你需要将 C3P0 的相关 JAR 包添加到项目的类路径中。例如,`c3p0-0.9.1.2.jar` 是核心库,`c3p0-0.9.1.2-jdk1.3.jar` 是针对 JDK 1.3 的版本,而 `...
C3P0 是一个开源的 JDBC 连接池,它实现了数据源和 JNDI 绑定,支持 JUnit 和 Jakarta 构架。在 Spring 框架中集成 C3P0,可以有效地管理数据库连接,提高系统的性能和稳定性。下面我们将详细介绍 Spring 配置 C3P0 ...
在SSM框架中配置C3P0数据源,你需要在Spring的配置文件中添加以下内容: ```xml <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <!-- 配置连接池...
2. 配置数据源:在应用的配置文件(如Java的properties文件或Spring的XML配置文件)中设置C3P0的数据源属性,包括数据库驱动、URL、用户名、密码,以及连接池的相关参数。 3. 初始化数据源:在应用启动时,根据配置...
除了资源文件配置外,C3P0也可以通过XML配置文件(如`c3p0-config.xml`)进行设置,这种方式更加灵活,可以针对不同的数据源设定不同的配置。例如: ```xml <class-name>...
在Spring的配置文件(如`applicationContext.xml`)中,添加C3P0的数据源bean定义,例如: ```xml <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!-- C3P0 连接池的配置...
2. **配置C3P0**:在Spring的配置文件(如`applicationContext.xml`)中,定义C3P0的数据源bean,包括数据库驱动、URL、用户名、密码等,并设置C3P0的连接池参数,如`maxIdleTime`、`maxPoolSize`等。 ```xml ...
MySQL.C3p0配置动态数据源是Java开发中常见的数据库连接池管理技术,它结合了MySQL数据库驱动和C3p0连接池库,为应用程序提供高效、稳定的数据库连接管理。在进行这样的配置时,需要引入特定的依赖包,确保项目的...
在 Spring 中,C3P0 配置文件可以通过数据源实现。Spring 中,数据连接是通过数据源获得的。在 Spring 中,你可以通过 JNDI 获取应用服务器的数据源,也可以直接在 Spring 容器中配置数据源。此外,你还可以通过代码...
在Spring中,有两种常见的开源数据源实现:Apache的DBCP(Database Connection Pool)和C3P0。下面将详细讨论这两种数据源的配置和特性。 **DBCP数据源配置** Apache的DBCP是一个基于Jakarta Commons Pool的对象池...
`c3p0`是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。`Spring`框架是Java开发中的一个核心组件,它提供了诸如依赖注入、AOP(面向切面编程)以及事务管理等功能。`Quartz`是...
然后,在Spring的配置文件(如`applicationContext.xml`)中添加C3P0的数据源配置: ```xml <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <!-- 更...
本篇将深入探讨如何使用`DriverManagerDataSource`和C3P0两种不同的数据源来配置MySQL 6.0.6数据库连接。我们将从它们的基本概念、配置过程以及优缺点等方面进行详细阐述。 首先,`DriverManagerDataSource`是...
"spring boot整合mybatis使用c3p0数据源连接mysql" 本文主要介绍了如何使用 Spring Boot 框架与 MyBatis 框架集成,并使用 C3P0 数据源连接 MySQL 数据库。下面是相关知识点的总结: 一、Spring Boot 框架概述 * ...
2. **创建C3P0数据源**:在Java代码或配置文件(如Spring的`application.properties`或`context.xml`)中定义C3P0数据源。 ```java import com.mchange.v2.c3p0.ComboPooledDataSource; public class C3P0...