クラス JdbcCursorItemReader<T>

実装されたすべてのインターフェース:
ItemReader<T>ItemStreamItemStreamReader<T>org.springframework.beans.factory.InitializingBean

public class JdbcCursorItemReader<T> extends AbstractCursorItemReader<T>

JDBC カーソルを開き、ResultSet の次の行を継続的に取得する単純なアイテムリーダーの実装。

非読み取り専用カーソルはテーブルまたは行を不必要にロックする可能性があるため、カーソルを開くために使用されるステートメントは "READ_ONLY" オプションで作成されます。また、"TYPE_FORWARD_ONLY" オプションで開かれます。デフォルトでは、カーソルは別の接続を使用して開かれます。つまり、ステップ処理の一部として作成されたトランザクションには参加しません。

AbstractItemCountingItemStreamItemReader.read() への各呼び出しは、提供された RowMapper を呼び出し、ResultSet を渡します。

このリーダーはスレッドセーフではありません。

作成者:
Lucas Ward, Peter Zozom, Robert Kasanicky, Thomas Risberg, Mahmoud Ben Hassine
  • コンストラクターの詳細

    • JdbcCursorItemReader

      public JdbcCursorItemReader()
  • メソッドの詳細

    • setRowMapper

      public void setRowMapper(org.springframework.jdbc.core.RowMapper<T> rowMapper)
      read() へのすべての呼び出しに使用される RowMapper を設定します。
      パラメーター:
      rowMapper - 各アイテムのマッピングに使用されるマッパー
    • setSql

      public void setSql(StringSE sql)
      カーソルの作成時に使用される SQL ステートメントを設定します。このステートメントは、変更なしで直接実行されるため、完全で有効な SQL ステートメントである必要があります。
      パラメーター:
      sql - SQL ステートメント
    • setPreparedStatementSetter

      public void setPreparedStatementSetter(org.springframework.jdbc.core.PreparedStatementSetter preparedStatementSetter)
      指定されたクエリで設定する必要があるパラメーター値がある場合に使用する PreparedStatementSetter を設定します。
      パラメーター:
      preparedStatementSetter - ステートメントの記入を担当する PreparedStatementSetter
    • afterPropertiesSet

      public void afterPropertiesSet() throws ExceptionSE
      必須プロパティが設定されていることを確認します。
      次で指定:
      インターフェース org.springframework.beans.factory.InitializingBeanafterPropertiesSet 
      オーバーライド:
      クラス AbstractCursorItemReader<T>afterPropertiesSet 
      例外:
      IllegalArgumentExceptionSE - データソースまたは SQL プロパティが設定されていない場合。
      ExceptionSE
    • openCursor

      protected void openCursor(ConnectionSE con)
      次で指定:
      クラス AbstractCursorItemReader<T>openCursor 
    • readCursor

      @Nullable protected T readCursor(ResultSetSE rs, int currentRow) throws SQLExceptionSE
      クラスからコピーされた説明: AbstractCursorItemReader
      カーソルを読み取り、このリーダーが返すオブジェクトの型にマッピングします。このメソッドはサブクラスでオーバーライドする必要があります。
      次で指定:
      クラス AbstractCursorItemReader<T>readCursor 
      パラメーター:
      rs - 現在の結果セット
      currentRow - 結果セットの現在の位置
      戻り値:
      カーソル位置のマップされたオブジェクト
      例外:
      SQLExceptionSE - 現在の結果セットとの相互作用が失敗した場合
    • cleanupOnClose

      protected void cleanupOnClose(ConnectionSE connection)
      カーソルとデータベース接続を閉じます。
      次で指定:
      クラス AbstractCursorItemReader<T>cleanupOnClose 
      パラメーター:
      connection - データベースへ
    • getSql

      public StringSE getSql()
      次で指定:
      クラス AbstractCursorItemReader<T>getSql