C3P0连接池的工具类 使用C3P0获得连接对象
连接池有一个规范接口 javax.sal.DataSourse 接口定义了一个从连接池中获得连接的方法getConnection();步骤
导入jar包
在成员变量位置创建一个静态的ComboPooledDtatSource 对象在静态代码块中使用ComboPooledDtatSource 对象 setxxxx方法 设置数据库连接定义一个静态方法 ComboPooledDtatSource 对象中获得数据库连接 Coonection释放资源(归还);方法类:package cn.sourceUntil;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;/*
C3P0连接池的工具类 使用C3P0获得连接对象连接池有一个规范接口 javax.sal.DataSourse 接口定义了一个从连接池中获得连接的方法getConnection();步骤0. 导入jar包1. 在成员变量位置创建一个静态的ComboPooledDtatSource 对象2. 在静态代码块中使用ComboPooledDtatSource 对象 setxxxx方法 设置数据库连接3. 定义一个静态方法 ComboPooledDtatSource 对象中获得数据库连接 Coonection4. 释放资源(归还); */public class C3P0Utils { //1. 在成员变量位置创建一个静态的ComboPooledDtatSource 对象 private static ComboPooledDataSource dataSource=new ComboPooledDataSource();//2. 在静态代码块中使用ComboPooledDtatSource 对象 setxxxx方法 设置数据库连接 static { try { //设置注册驱动程序 dataSource.setDriverClass("com.musql.jdbc.Dringver"); //设置URL dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/day05"); //设置数据库用户名 dataSource.setUser("root"); //设置数据库密码 dataSource.setPassword("root");} catch (PropertyVetoException e) {
e.printStackTrace(); }}//3. 定义一个静态方法 ComboPooledDtatSource 对象中获得数据库连接 Coonection public static Connection getConnection(){try {
return dataSource.getConnection(); } catch (SQLException e) { throw new RuntimeException("数据库连接失败"); } }//4. 释放资源(归还); public static void close(ResultSet rs, Statement stat,Connection conn){ if (rs!=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (stat!=null){ try { stat.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn!=null){ try { conn.close();//不是关 是归还 } catch (SQLException e) { e.printStackTrace(); } } }}1
2345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576测试类:package cn.cn.sourceTest;
import cn.sourceUntil.C3P0Utils;
import org.junit.Test;import java.sql.Connection;
import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class TestC3P0Until {
@Test public void tes01() throws SQLException { //使用C3P0工具类 获得getConnection Connection conn = C3P0Utils.getConnection(); System.out.println(conn); Statement stat = conn.createStatement(http://www.my516.com); ResultSet rs = stat.executeQuery("SELECT * FROM users"); System.out.println("123456"); //遍历结果集 while (rs.next()){ System.out.println(rs.getInt("cid")+rs.getString("pname")+rs.getString("pasword")); } //释放资源 C3P0Utils.close(rs,stat,conn);}
}
1
23456789101112131415161718192021222324252627282930---------------------