c3p0数据源

c3p0是目前最流行的开源数据库连接池之一。
当使用c3p0时,可以使用CombopooledDataSource()的有参和无参构方法;
或者通过读取配置文件创建数据源对象。
1.构造方法:

import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class Example {
	public static DataSource ds = null;
	// 初始化C3P0数据源
	static {
		ComboPooledDataSource cpds = new ComboPooledDataSource();
		// 设置连接数据库需要的配置信息
		try {
			cpds.setDriverClass("com.mysql.jdbc.Driver");
			cpds.setJdbcUrl("jdbc:mysql://localhost:3306/jdbc");
			cpds.setUser("root");
			cpds.setPassword("itcast");
			// 设置连接池的参数
			cpds.setInitialPoolSize(5);
			cpds.setMaxPoolSize(15);
			ds = cpds;
		} catch (Exception e) {
			throw new ExceptionInInitializerError(e);
		}
	}
	public static void main(String[] args) throws SQLException {
		// 获取数据库连接对象
		System.out.println(ds.getConnection());
	}
}

2.读取配置文件

  • 文件名称:必须叫c3p0-config.xml或c3p0.properties
  • 文件位置:必须在src下,当传入的configName值为空或不存在时,使用默认的配置文件创建数据源。


	
	
		
		jdbc:mysql://localhost:3306/mydb1
		com.mysql.jdbc.Driver
		root
		123
		
		3
		
		10
		
		2
		
		10
	
	
	
		jdbc:mysql://localhost:3306/mydb1
		com.mysql.jdbc.Driver
		root
		123
		3
		10
		2
		10
	

 

测试:

 import java.sql.SQLException;
 import javax.sql.DataSource;
 import com.mchange.v2.c3p0.ComboPooledDataSource;
 public class Test {
 	public static DataSource ds = null;
 	// 初始化C3P0数据源
 	static {
 		// 使用c3p0-config.xml配置文件中的named-config节点中name属性的值
 		ComboPooledDataSource cpds = new ComboPooledDataSource("itcast");
 		ds = cpds;
 	}
 	public static void main(String[] args) throws SQLException {
 		System.out.println(ds.getConnection());
 	}
 }

你可能感兴趣的:(JavaEE)