クラス JdbcPagingItemReader<T>

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

public class JdbcPagingItemReader<T> extends AbstractPagingItemReader<T> implements org.springframework.beans.factory.InitializingBean

JDBC を使用してページング方式でデータベースレコードを読み取るための ItemReader

PagingQueryProvider によって構築された SQL を実行して、リクエストされたデータを取得します。AbstractPagingItemReader.setPageSize(int) で指定されたサイズのページングされたリクエストを使用して、クエリが実行されます。AbstractItemCountingItemStreamItemReader.read() メソッドが呼び出され、現在の位置に対応するオブジェクトを返すときに、必要なときに追加のページがリクエストされます。再起動時に、最後の並べ替えキーの値を使用して、読み取る最初のページを見つけます(したがって、正常に処理されたアイテムが削除または変更されたかどうかは関係ありません)。実行間でデータが失われないことを保証するために、ソートキーに一意のキー制約を設定することが重要です。

ページングのパフォーマンスは、返される行の数を制限するために利用可能なデータベース固有の機能に依存します。かなり大きなページサイズを設定し、ページサイズに一致するコミット間隔を使用すると、パフォーマンスが向上します。

実装は open(ExecutionContext) の呼び出し間でスレッドセーフですが、マルチスレッドクライアントで使用する場合は saveState=false を使用することを忘れないでください(再起動は利用できません)。

導入:
2.0
作成者:
Thomas Risberg, Dave Syer, Michael Minella, Mahmoud Ben Hassine
  • フィールドの詳細

  • コンストラクターの詳細

    • JdbcPagingItemReader

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

    • setDataSource

      public void setDataSource(DataSourceSE dataSource)
    • setFetchSize

      public void setFetchSize(int fetchSize)
      この ResultSet オブジェクトにさらに行が必要な場合に、データベースからフェッチする行数に関するヒントを JDBC ドライバーに提供します。指定されたフェッチサイズがゼロの場合、JDBC ドライバーは値を無視します。
      パラメーター:
      fetchSize - 取得する行数
      関連事項:
    • setQueryProvider

      public void setQueryProvider(PagingQueryProvider queryProvider)
      PagingQueryProvider リーダーが必要とするすべてのプラットフォーム依存クエリ生成機能を提供します。
      パラメーター:
      queryProvider - 使用する PagingQueryProvider
    • setRowMapper

      public void setRowMapper(org.springframework.jdbc.core.RowMapper<T> rowMapper)
      このリーダーで使用される行マッパーの実装。行マッパーは、結果セットの行をオブジェクトに変換するために使用され、オブジェクトはリーダーによって返されます。
      パラメーター:
      rowMapper - RowMapper 実装
    • setParameterValues

      public void setParameterValues(MapSE<StringSE,ObjectSE> parameterValues)
      クエリの実行に使用されるパラメーター値。名前付きパラメーターを使用する場合、キーはクエリ句で使用される名前にする必要があります。"?" を使用する場合プレースホルダは、指定された select、from、where 句を使用して作成されたクエリ文字列にパラメーターが表示される相対インデックスである必要があります。
      パラメーター:
      parameterValues - クエリ文字列で使用される名前付き / インデックスパラメーターによってキー設定された値。
    • afterPropertiesSet

      public void afterPropertiesSet() throws ExceptionSE
      必須プロパティを確認してください。
      次で指定:
      インターフェース org.springframework.beans.factory.InitializingBeanafterPropertiesSet 
      オーバーライド:
      クラス AbstractPagingItemReader<T>afterPropertiesSet 
      例外:
      ExceptionSE
      関連事項:
      • InitializingBean.afterPropertiesSet()
    • doReadPage

      protected void doReadPage()
      次で指定:
      クラス AbstractPagingItemReader<T>doReadPage 
    • update

      public void update(ExecutionContext executionContext) throws ItemStreamException
      クラスからコピーされた説明: ItemStreamSupport
      空の ExecutionContext を返します。
      次で指定:
      インターフェース ItemStreamupdate 
      オーバーライド:
      クラス AbstractItemCountingItemStreamItemReader<T>update 
      パラメーター:
      executionContext - 更新される
      例外:
      ItemStreamException
      関連事項:
    • open

      public void open(ExecutionContext executionContext)
      クラスからコピーされた説明: ItemStreamSupport
      ノーオペレーション。
      次で指定:
      インターフェース ItemStreamopen 
      オーバーライド:
      クラス AbstractItemCountingItemStreamItemReader<T>open 
      パラメーター:
      executionContext - 現在のステップの ExecutionContext 再起動時のステップの最後の実行からの executionContext になります。
      関連事項: