2

Spring の JDBC サポートを使用して、Oracle データベースで SQL クエリと更新を実行しています。行を挿入してから、割り当てられたキーを取得したいと思います (Oracle シーケンスを使用)。通常の JDBC コードでは、RETURNING INTO 句を含めてから、出力パラメーターを登録します (こちらで詳しく説明しています) 。

ただし、Spring を使用してすべての JDBC 作業を処理したいと考えています。挿入以外の SQL ステートメントについては、現在 MapSqlParameterSource オブジェクトを使用し、すべての入力パラメーターを登録しています。このような出力パラメーターも登録して、返してもらうことはできますか? Spring ドキュメントの第 11 章の部分を調べたところ、ストアド プロシージャを使用している場合は出力パラメーターがサポートされていることがわかりましたが、可能であればそれを避けたいと思います。ありがとう。

4

2 に答える 2

1

Spring JDBC サポート API が OUT パラメーターの明示的なサポートを提供しているとは思わないため、少し戻って、 が提供するより一般的なクエリ API を使用する必要がある場合がありますJdbcTemplate

Object execute(PreparedStatementCreator psc, PreparedStatementCallback action)

これにより、Spring 管理の接続のスコープ内で任意の JDBC 操作を実行できますPrepatedStatement。欠点は、次のようなものの処理と片付けがResultSets問題になることです。

于 2009-08-18T15:36:05.057 に答える
0

このコードをチェックしてください - Oracleがこの構文をサポートしているかどうかはわかりませんが、あなたが望むことをするかもしれません.

getReturnedGeneratedKeys() Spring JDBC の例

于 2009-08-18T17:44:52.020 に答える