C3P0的配置
简单配置 两步走 ,
在src下配置一下driverClass以下四个信息,复制我的xml
<c3p0-config> <default-config> <!-- <property name="automaticTestTable">con_test</property> --> <property name="checkoutTimeout">30000</property> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/day17?characterEncoding=utf8</property> <property name="user">root</property> <property name="password"></property> <property name="idleConnectionTestPeriod">30</property> <property name="initialPoolSize">10</property> <property name="maxIdleTime">30</property> <property name="maxPoolSize">100</property> <property name="minPoolSize">10</property> <property name="maxStatements">200</property> <user-overrides user="test-user"> <property name="maxPoolSize">10</property> <property name="minPoolSize">1</property> <property name="maxStatements">0</property> </user-overrides> </default-config> </c3p0-config>
2、写一个C3P0Utils类
其实只有一步
private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
这样就可以获取到数据源了,简单暴力是不是
再写一些按需方法
//得到数据源get方法,给dbUtil的QueryRunner使用的 public static ComboPooledDataSource getDataSource() { return dataSource; } //从ConnectionPool中得到Connection public static Connection getConnection() { Connection conn = null; try { conn = dataSource.getConnection(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; } //释放资源的方法 public static void release(ResultSet rs, Statement stmt,Connection conn) { if(rs != null) { try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } rs = null; } if(stmt != null) { try { stmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } stmt = null; } if(conn != null) { try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } conn = null; } }
就是soEasy