法一
@Test
public void demo1(){
Connection conn = null;
PreparedStatement pre = null;
ResultSet rs = null;
try {
//创建连接池
ComboPooledDataSource dataSource = new ComboPooledDataSource();
//设置连接池的参数:
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql:///user");
dataSource.setPassword("root");
dataSource.setUser("root");
dataSource.setMaxPoolSize(20);//设置最大连接数
dataSource.setInitialPoolSize(4);//设置初始化时连接数量
//获得连接
conn = dataSource.getConnection();
//编写语句
String sql = "select * from student";
//预编译sql
pre = conn.prepareStatement(sql);
//设置参数
//执行sql
rs = pre.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("id")+" "+rs.getString("name"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (conn != null){
conn.close();
}
if(pre != null){
pre.close();
}
if(rs != null){
rs.close();
}
}catch (Exception e){
e.printStackTrace();
}
System.out.println("成功关闭资源");
}
}
二、使用配置文件方式连接
配置文件c3p0-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///user</property>
<property name="user">root</property>
<property name="password">root</property>
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">20</property>
</default-config>
</c3p0-config>
测试代码
@Test
public void testDemo2(){
Connection conn = null;
PreparedStatement pre = null;
ResultSet rs = null;
try {
//获得连接
ComboPooledDataSource dataSource = new ComboPooledDataSource();
//获得连接
conn = dataSource.getConnection();
//编写语句
String sql = "select * from student";
//预编译sql
pre = conn.prepareStatement(sql);
//设置参数
//执行sql
rs = pre.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("id")+" "+rs.getString("name"));
}
}catch (Exception e){
e.printStackTrace();
}finally {
try {
if (conn != null){
conn.close();
}
if(pre != null){
pre.close();
}
if(rs != null){
rs.close();
}
}catch (Exception e){
e.printStackTrace();
}
System.out.println("成功关闭资源");
}
}