インターフェース CallableStatementCallback<T>

型パラメーター:
T - 結果の型
関数インターフェース:
これは関数インターフェースであるため、ラムダ式またはメソッド参照の割り当てターゲットとして使用できます。

@FunctionalInterfaceSE public interface CallableStatementCallback<T>
CallableStatement で動作するコードの汎用コールバックインターフェース。単一の CallableStatement で任意の数の操作を実行できます。たとえば、単一の実行呼び出しや、さまざまなパラメーターを使用した繰り返し実行呼び出しなどです。

JdbcTemplate によって内部的に使用されますが、アプリケーションコードにも役立ちます。渡された CallableStatement は、フレームワークまたはカスタム CallableStatementCreator によって作成された可能性があることに注意してください。ただし、後者はほとんど必要ありません。ほとんどのカスタムコールバックアクションが更新を実行するため、標準の CallableStatement で十分です。カスタムアクションは常にパラメーター値を設定するため、CallableStatementCreator 機能も必要ありません。

導入:
16.03.2004
作成者:
Juergen Hoeller
関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    アクティブな JDBC CallableStatement で JdbcTemplate.execute によって呼び出されます。
  • メソッドの詳細

    • doInCallableStatement

      アクティブな JDBC CallableStatement を使用して JdbcTemplate.execute によって呼び出されます。ステートメントまたは接続のクローズ、またはトランザクションの処理について気にする必要はありません。これはすべて Spring の JdbcTemplate によって処理されます。

      注意 : 開いた ResultSets はすべて、コールバック実装内の finally ブロックで閉じる必要があります。Spring はコールバックが返された後に Statement オブジェクトを閉じますが、これは必ずしも ResultSet リソースが閉じられることを意味するわけではありません: ステートメントオブジェクトは接続プールによってプールされる可能性があり、close 呼び出しはオブジェクトをプールに返すだけで、リソースを物理的に閉じません。

      スレッドにバインドされた JDBC トランザクション(DataSourceTransactionManager によって開始された)なしで呼び出された場合、コードはトランザクションセマンティクスを使用して JDBC 接続で実行されます。JTA 対応の DataSource を使用するように JdbcTemplate が構成されている場合、JTA トランザクションがアクティブな場合、JDBC 接続とコールバックコードはトランザクションになります。

      コールバック内で作成された結果オブジェクト、つまりドメインオブジェクトまたはドメインオブジェクトのコレクションを返すことができます。スローされた RuntimeException はアプリケーション例外として扱われ、テンプレートの呼び出し元に伝達されます。

      パラメーター:
      cs - アクティブな JDBC CallableStatement
      戻り値:
      結果オブジェクト、ない場合は null 
      例外:
      SQLExceptionSE - JDBC メソッドによってスローされた場合、SQLExceptionTranslator によって DataAccessException に自動変換されます。
      DataAccessException - カスタム例外の場合