导入jar包:
c3p0-0.9.5.2.jar C3P0核心
mchange-commons-java-0.2.12.jar C3P0依赖
mysql-connector-java-5.1.37-bin.jar 数据库连接驱动(这里使用的是MySQL)
将jar包复制到libs文件夹,将jar包添加到库文件中(右击libs-->Add As Library-->ok)
定义配置文件
名称:c3p0.properties 或者 c3p0-config.xml
位置:src目录下
c3p0-config.xml内容
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/dbname
root
root
5
10
3000
使用C3P0
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;
public class C3P0Demo1 {
public static void main(String[] args) {
String sql = "select * from student where id = ?";
Scanner sc = new Scanner(System.in);
int id = sc.nextInt();
Connection conn = null;
PreparedStatement pstmt = null;
try {
//创建数据库连接池对象
DataSource ds = new ComboPooledDataSource();
//获取数据库连接对象
conn = ds.getConnection();
//获取statement,使用prepareStatement,防止sql注入
pstmt = conn.prepareStatement(sql);
//注入sql参数(sql中?将被替换)
pstmt.setInt(1,id);
//执行sql,返回数据集
ResultSet rs = pstmt.executeQuery();
//数据处理
System.out.println(rs);
} catch (SQLException e) {
e.printStackTrace();
} finally {
//释放stmt
if(pstmt != null){
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
//conn归还连接池
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}