1 导入jia包:c3p0-0.9.1.2.jar mchange-commons-java-0.2.11.jar mysql-connector-java-5.1.37-bin.jar
2 不使用配置文件c3p0-0.9.1.2.jar编写工具类
public class C3P0Utils { private static ComboPooledDataSource ds = new ComboPooledDataSource(); //static代码块设置数据库连接四大要素 static{ try { ds.setDriverClass("com.mysql.jdbc.Driver"); ds.setJdbcUrl("jdbc:mysql://localhost:3306/day04"); ds.setUser("root"); ds.setPassword("123"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static Connection getConnection() throws SQLException{ //获取连接,不要自己去DriverManager获取,而是从C3P0连接池获取 return ds.getConnection(); } //关闭所有资源的统一代码 public static void closeAll(Connection conn,Statement st,ResultSet rs){ //负责关闭 if(conn != null){ try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(st != null){ try { st.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(rs != null){ try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
3 使用配置文件c3p0-0.9.1.2.jar编写工具类(注意:配置文件名不能改变)
public class C3P0Utils02 { private static ComboPooledDataSource ds = new ComboPooledDataSource(); //ds对象直接去加载C3P0-config.xml文件,自动加载里面的四大要素,获得数据库加载与连接 public static Connection getConnection() throws SQLException{ //获取连接,不要自己去DriverManager获取,而是从C3P0连接池获取 return ds.getConnection(); } //关闭所有资源的统一代码 public static void closeAll(Connection conn,Statement st,ResultSet rs){ //负责关闭 if(conn != null){ try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(st != null){ try { st.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(rs != null){ try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
4 C3P0测试类
public class C3P0UtilsTestDemo { public static void main(String[] args) throws SQLException { // insert(); // delete(); query(); } //插入 public static void insert() throws SQLException{ //1.获取连接 Connection conn = C3P0Utils02.getConnection(); //2.获取执行对象 Statement st = conn.createStatement(); //3.执行sql int rows = st.executeUpdate("insert into users (username,password) values ('王八','123321')"); System.out.println(rows); //4. C3P0Utils02.closeAll(conn, st, null); } //删除 public static void delete() throws SQLException{ //1.获取连接 Connection conn = C3P0Utils02.getConnection(); //2.获取执行对象 Statement st = conn.createStatement(); //3.执行sql int rows = st.executeUpdate("delete from users where uid = 7"); System.out.println(rows); //4. C3P0Utils02.closeAll(conn, st, null); } //查询 public static void query() throws SQLException{ //1.获取连接 Connection conn = C3P0Utils02.getConnection(); //2.获取执行对象 Statement st = conn.createStatement(); //3.执行sql ResultSet rs = st.executeQuery("select * from users"); while(rs.next()){ System.out.println(rs.getObject("uid")+"\t"+rs.getObject("username")+"\t"+rs.getObject("password")); } //4. C3P0Utils02.closeAll(conn, st, null); } }