C3P0数据源的使用

1.C3P0数据源的使用

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0有自己的格式文件,如下

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
  <default-config>
      <property name="driverClass">com.mysql.jdbc.Driver</property>
      <property name="jdbcUrl">jdbc:mysql:///day05</property>
      <property name="user">root</property>
      <property name="password">root</property>
    <property name="initialPoolSize">10</property>
    <property name="maxIdleTime">30</property>
    <property name="maxPoolSize">100</property>
    <property name="minPoolSize">10</property>
  </default-config>
</c3p0-config>
  1. 导jar包:
  2. 建立c3p0连接
package com.beiwo.day05.util;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;

public class C3P0Util {

	//C3P0数据源
	private static ComboPooledDataSource dataSource=new ComboPooledDataSource();

	public static DataSource getDataSource() {
		return dataSource;
	}

	public static Connection getConn(){
		try {
			return dataSource.getConnection();
		} catch (SQLException  e) {
			throw new  RuntimeException(e);
		}
	}

	public static Connection getConn2(){
		Connection conn=null;

		try {
			conn=dataSource.getConnection();
		} catch (Exception  e) {
			e.printStackTrace();
		}

		return conn;
	}

	//释放连接
	public static void realease(ResultSet rs,Statement stmt,Connection conn){
		try {
			if(null!=rs){
				rs.close();
			}
		} catch (Exception e) {
			// TODO: handle exception
		}
		try {
			if(null!=stmt){
				stmt.close();
			}
		} catch (Exception e) {
			// TODO: handle exception
		}
		try {
			if(null!=conn){
				conn.close();
			}
		} catch (Exception e) {
			// TODO: handle exception
		}
	}
}

    

測試C3P0的使用

package com.beiwo.day05.test;
import java.sql.Connection;
import org.junit.Test;
import com.beiwo.day05.util.C3P0Util;

public class TestC3P0 {

	@Test
	public void testC3P0(){
		Connection connection = C3P0Util.getConn();
		System.out.println(connection.getClass().getName());
		C3P0Util.realease(null, null, connection);
	}
}
时间: 2024-10-05 02:40:42

C3P0数据源的使用的相关文章

hibernate 使用C3P0数据源

1.导入jar包: hibernate-release-4.3.5.Final/lib/optional/*.jar 2.加入配置: <!-- 配置 C3P0 数据源 --> <property name="hibernate.c3p0.max_size">10</property> <property name="hibernate.c3p0.min_size">5</property> <prop

Spring配置c3p0数据源时出错报:java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector

今天在使用Spring配置c3p0数据源时,使用的数据库是mysql,服务器是tomcat,运行时报了一个 java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector 网络上找了很久都没有解决,最后发现是因为:         C3P0 少了个 jar 包,mchange-commons-java-0.2.3.1.jar 因为c3p0.jar依赖另一个jar包,就是mchange-commons-java-0.2.3.1.jar.

hibernate使用c3p0数据源

在配置好hibernate连接数据库环境的前提下,我们进行如下操作就可以搭建好hibernate中使用c3p0数据源的环境了. 1). 导入 jar 包: hibernate-release-4.2.4.Final\lib\optional\c3p0\*.jar(这里面一般有3个jar包 ) c3p0-0.9.2.1.jar hibernate-c3p0-4.2.15.Final.jar mchange-commons-java-0.2.3.4.jar 2). 加入配置(hibernate.cf

创建C3P0数据源

[Author]: kwu 创建C3P0数据源,实际开发中直接用JDBC连接数据库是非常少的,一般使用数据源的形式,C3P0是开源的数据源,实际项目用得很多: 1.增加maven的支持 <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.2</version> </dependency> 2.配置C3

c3p0数据源配置抛出Could not load driverClass com.mysql.jdbc.Driver的解决方案

回答1: spring 加载数据库连接驱动的时候出现找不到驱动类解决办法. com.mchange.v2.c3p0.DriverManagerDataSourceensureDriverLoaded 1,  首先确定是否有相应的驱动包 2,  查看配置数据库连接文件每行的末尾是否有空格. 回答2: 1.0 配置c3p0数据源,一直提示 无法加载数据库驱动. 但是明明有驱动,非常疑惑..... com.mchange.v2.c3p0.DriverManagerDataSource ---- Cou

配置 C3P0 数据源

<!-- 配置 C3P0 数据源 --> <property name="hibernate.c3p0.max_size">10</property> <property name="hibernate.c3p0.min_size">5</property> <property name="c3p0.acquire_increment">2</property>

Spring配置文件中的C3P0数据源配置和事务配置(采用mysql)

直接上代码 <?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:aop="http://www.springframework.org/s

功能第二篇——数据源之C3P0数据源(JDBC)

综述 C3P0由三部分内容组成.实例化对象,各配置项的含义,以及加载配置项的方式. 实例化对象的方式有三种,第一种方式直接new ComboPooledDataSource,第二种方式使用工厂类DataSources.poolDataSource方法.第三种不常见.第一种方式是最方便的方式. C3P0的配置项主要有: 连接数据库的必要属性:例如jdbcUrl,user,password等. 连接池的大小配置.例如initialPoolSize 连接对象的生命周期.例如maxConnectionA

Spring通过JNDI获取在Tomcat容器中配置的C3P0数据源

开始直接使用Spring通过JNDI获取在Tomcat容器中配置的数据源,Tomcat默认的应该是DBCP连接池,没问题,一切OK,由于Hibernate和Spring都推荐使用C3P0连接池,所以就尝试配置一下,没想到整了半下午,才搞定配置,惭愧!网上的内容眼花缭乱,鱼龙混杂,不如自己靠谱!直接上代码,后面附出现的问题! 配置两个地方: 1.Tomcat\conf下的context.xml 2.Spring的配置文件 提示: 1.如果要优化连接池的性能,要对参数进行设置,具体的要看官网!官网最