0

Spring JDBC 3.0.6 を使用しています。プレーンな JDBC を使用するレガシー コードもあります。従来のコードには、java.sql.Connection オブジェクトを必要とするメソッドがあります。Spring コードからこのメソッドを呼び出したい。java.sql.Connection オブジェクトを渡すにはどうすればよいですか?

データソースから接続オブジェクトを取得する場合、この接続の復帰/解放を管理する必要があります。トランザクション内にある接続オブジェクトの参照を取得することはできませんか?

アノテーション ベースの構成と aop ベースの宣言型トランザクションを使用しています。

4

2 に答える 2

6

を使用しJdbcTemplate.execute(ConnectionCallback)ます。接続コールバックは、Spring によって自動的に開かれ、閉じられ、現在のトランザクションに関連付けられる接続にアクセスできます。

于 2011-10-04T16:33:02.660 に答える
0

DataSourceUtils.getConnectionメソッドを使用します。これにより、トランザクションに関連付けられた接続が取得されます。DataSourceUtils.releaseConnectionを使用して解放します (接続が Transaction.releaseConnection に関連付けられている場合は noop です)。

レガシ コードに接続を開いたり閉じたりするための util クラスがある場合は、DataSourceUtils 関数を使用するように変更するだけです。

于 2011-10-04T17:59:12.127 に答える