package com.yjm.c3p0;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
*
* @author yjm18
* c3p0 创建与管理 jdbc数据库连接池
*
*/
public class ConnectionFactoryc3p0 {
public static ComboPooledDataSource comboPooledDataSource = null;
static {
// 初始化 c3p0 JDBC数据连接与控制池
comboPooledDataSource = new ComboPooledDataSource();
try {
comboPooledDataSource.setDriverClass("com.mysql.jdbc.Driver");
} catch (PropertyVetoException e) {
e.printStackTrace();
}
comboPooledDataSource
.setJdbcUrl("jdbc:mysql://localhost:3306/itruscnoocgasmock?useUnicode=true&characterEncoding=UTF-8");
comboPooledDataSource.setUser("root");
comboPooledDataSource.setPassword("1234");
comboPooledDataSource.setMinPoolSize(20);
comboPooledDataSource.setMaxPoolSize(50);
}
public static synchronized Connection getC3p0Connection() {
Connection con=null;
try {
con= comboPooledDataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
} finally {
return con;
}
}
public static void main(String[] args) {
try {
//通过c3p0进行查询操作
ResultSet rs = ConnectionFactoryc3p0.getC3p0Connection()
.prepareStatement("select * from signinfo").executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println();
}
}
不用框架管理 jdbc数据连接池。增加 增删改查处理效率。