在我的应用程序中,我们试图从 Spring 获取 java.sql.Connection,
连接 conn = DataSourceUtils.getConnection(this.getJdbcTemplate().getDataSource());
我使用此连接对象来设置准备语句并执行查询以获取结果集。
我知道这样一个概念,当我们使用jdbcTemplate时,打开连接、关闭连接等的负担由spring本身承担,我们不需要在代码中显式处理。
但是在这种情况下我有点困惑,因为我们从 jdbcTemplate 显式获取连接对象,所以我们是否还需要在代码中显式处理连接关闭?我们正在使用连接池。
提前致谢。
蓝光
最佳答案
这取决于您配置的数据源类型(在您的情况下,它是配置了连接池的数据源),因此 DatasourceUtils getConnection 使用相同的数据源,因此您创建的 Connection 对象将被池化,这意味着如果您调用 close在此连接对象上,连接实际上不会关闭,而是会返回到连接池
关于java - 从 Spring jdbc 获取 java.sql.connection : getJdbcTemplate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25328155/