如何在c3p0中返回连接

iha*_*obs 12 java c3p0

我正在使用c3p0 - ComboPooledDataSource.我正在初始化一次,如下所示.

private void init() {
cpds = new ComboPooledDataSource();
cpds.setDriverClass(driverName);
cpds.setJdbcUrl(url);
cpds.setUser(userName);
cpds.setPassword(pwd);
}
Run Code Online (Sandbox Code Playgroud)

我从池中获得如下连接

public synchronized Connection getLocalConnection(String ipAddr)
    throws SQLException {
return cpds.getConnection();
}
Run Code Online (Sandbox Code Playgroud)

但是,当我完成执行查询时,我不确定它是否是将连接返回池的正确方法.我想是的

conn.close()
Run Code Online (Sandbox Code Playgroud)

只是将连接返回到池而不是真正关闭连接.我是正确的还是有其他方法吗?请帮忙.

use*_*437 6

这是初始化代码

private DataSource init() {

    DataSource unpooled = DataSources.unpooledDataSource(DB_URL, DB_USERNAME, DB_PASSWORD);

    Map<String, Object> overrideProps = new HashMap<String, Object>();

    overrideProps.put("maxPoolSize", MAX_POOL_SIZE);
    overrideProps.put("minPoolSize", MIN_POOL_SIZE);

    return DataSources.pooledDataSource(unpooled, overrideProps);
}
Run Code Online (Sandbox Code Playgroud)

并且您从DataSource获得连接.

public Connection getConnection() throws SQLException {
    return dataSource.getConnection();
}
Run Code Online (Sandbox Code Playgroud)

要关闭连接,只需调用close()方法即可.

connection.close();
Run Code Online (Sandbox Code Playgroud)