public class C3P0Util { //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"); dataSource.setAcquireIncrement(5); dataSource.setInitialPoolSize(20); dataSource.setMinPoolSize(2); dataSource.setMaxPoolSize(50); } 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(); } } } }