我正在使用Spring JDBC 3.0.6。我还有使用普通JDBC的遗留代码。遗留代码中有一些方法需要java.sql.Connection对象。我想从我的Spring代码中调用这个方法。如何传递java.sql.Connection对象?
如果我从数据源获取连接对象,那么我需要管理此连接的返回/释放。我是否可以只获取事务中的连接对象的引用。
我正在使用基于注释的配置和基于aop的声明性事务。
答案 0 :(得分:6)
使用JdbcTemplate.execute(ConnectionCallback)
。连接回调将有权访问连接,该连接由Spring自动打开,关闭并与当前事务相关联。
答案 1 :(得分:0)
使用DataSourceUtils.getConnection方法,这将检索与事务关联的连接。使用DataSourceUtils.releaseConnection释放它(如果连接是与事务关联的连接,则为noop。
如果遗留代码具有用于打开/关闭连接的util类 - 您可以修改它以使用DataSourceUtils函数。