视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
c3p0的常用配置方式
2020-11-09 15:02:05 责编:小采
文档


1:第一种方式非常简单 c3p0.driverClass=com.mysql.jdbc.Driverc3p0.jdbcUrl=jdbc:mysql://localhost:3308/databasec3p0.user=rootc3p0.password=root 文件名字为:c3p0.properties(放在src目录下面) //程序我写的比较简单,可以用来测试执行配置。 packa

1:第一种方式非常简单

c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql://localhost:3308/database
c3p0.user=root
c3p0.password=root
文件名字为:c3p0.properties(放在src目录下面)
//程序我写的比较简单,可以用来测试执行配置。
package jdbc.mysql;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class C3P0 {
	public static void main(String[] args) throws SQLException {
	//数据库连接池默认会到classpath下去找数据库的配置。
	ComboPooledDataSource data = new ComboPooledDataSource();
	Connection conn = data.getConnection();
	String sql = "select * from table";
	PreparedStatement pstmt = conn.prepareStatement(sql);
	ResultSet rs = pstmt.executeQuery();
	while(rs.next()){
	System.out.println(rs.getString(1));
	}
	}
}
2:第二种方式非常灵活好用,也非常接近于我们平时的hibernate和struts的配置文件方式
而且可以为多个数据源提供服务,提供default-config和named-config两种配置方式 。
其中里面的具体参数可参照c3p0文档(http://www.mchange.com/projects/c3p0/) 比较简单。根据属性名字几乎可以看出意思。


 
 root
 1234
 com.mysql.jdbc.Driver
 jdbc:mysql://localhost:3306/database?characterEncoding=UTF-8&useOldAliasMetadataBehavior=true 
 2
 30
 100
 2
 
 
 
 root
 root
 com.mysql.jdbc.Driver
 jdbc:mysql://localhost:3308/database?characterEncoding=UTF-8&useOldAliasMetadataBehavior=true 
 2
 30
 100
 2
 

package jdbc.mysql;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class C3p0JDBC {
	public static void main(String[] args) throws SQLException {
	System.setProperty("com.mchange.v2.c3p0.cfg.xml",System.getProperty("user.dir")+"/config/c3p0-config.xml");
	//上面的配置文件  
	//默认情况下 构造函数传空值。会去找默认配置
	DataSource data = new ComboPooledDataSource();
	//上面的配置文件 
	//如果构造函数中传值,则找到对应的配置。
	DataSource data1 = new ComboPooledDataSource("database");
	Connection conn = data.getConnection();
	Connection conn1 = data1.getConnection();
	String sql = "select * from table";
	PreparedStatement pstmt = conn1.prepareStatement(sql);
	ResultSet rs = pstmt.executeQuery();
	while(rs.next()){
	System.out.println(rs.getString(1));
	}
	}
}
3:这种配置是最不常用的,比较繁琐,就是把所有配置都写到程序里面来。

可选择性使用

import com.mchange.v2.c3p0.*;
........	
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass( "org.postgresql.Driver" ); //loads the jdbc driver 
cpds.setJdbcUrl( "jdbc:postgresql://localhost/testdb" );
cpds.setUser("dbuser"); 
cpds.setPassword("dbpassword"); 

cpds.setMaxStatements( 180 ); 
cpds.close();

下载本文
显示全文
专题