如何在c3p0中返回连接
我正在使用c3p0 – ComboPooledDataSource。 我正在初始化一次,如下所示。
private void init() { cpds = new ComboPooledDataSource(); cpds.setDriverClass(driverName); cpds.setJdbcUrl(url); cpds.setUser(userName); cpds.setPassword(pwd); }
我从池中获得如下连接
public synchronized Connection getLocalConnection(String ipAddr) throws SQLException { return cpds.getConnection(); }
但是,当我完成执行查询时,我不确定它是否是将连接返回池的正确方法。 我想是的
conn.close()
只是将连接返回到池而不是真正关闭连接。 我是正确的还是有其他方法吗? 请帮忙。
这是初始化代码
private DataSource init() { DataSource unpooled = DataSources.unpooledDataSource(DB_URL, DB_USERNAME, DB_PASSWORD); Map overrideProps = new HashMap(); overrideProps.put("maxPoolSize", MAX_POOL_SIZE); overrideProps.put("minPoolSize", MIN_POOL_SIZE); return DataSources.pooledDataSource(unpooled, overrideProps); }
并且您从DataSource获得连接。
public Connection getConnection() throws SQLException { return dataSource.getConnection(); }
要关闭连接,只需调用close()方法即可。
connection.close();