public class JdbcCursorItemReader<T> extends AbstractCursorItemReader<T>
JDBC カーソルを開き、ResultSet の次の行を継続的に取得する単純なアイテムリーダーの実装。
非読み取り専用カーソルはテーブルまたは行を不必要にロックする可能性があるため、カーソルを開くために使用されるステートメントは "READ_ONLY" オプションで作成されます。また、"TYPE_FORWARD_ONLY" オプションで開かれます。デフォルトでは、カーソルは別の接続を使用して開かれます。つまり、ステップ処理の一部として作成されたトランザクションには参加しません。
AbstractItemCountingItemStreamItemReader.read()
への各呼び出しは、提供された RowMapper を呼び出し、ResultSet を渡します。
log, rs, VALUE_NOT_SET
コンストラクターと説明 |
---|
JdbcCursorItemReader() |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() 必須プロパティが設定されていることを確認します。 |
protected void | cleanupOnClose() 使用すべきではありません。 このメソッドは cleanupOnClose(java.sql.Connection) を優先して非推奨になり、将来のリリースで削除される予定です。 |
protected void | cleanupOnClose(java.sql.Connection connection) カーソルとデータベース接続を閉じます。 |
java.lang.String | getSql() |
protected void | openCursor(java.sql.Connection con) |
protected T | readCursor(java.sql.ResultSet rs, int currentRow) カーソルを読み取り、このリーダーが返すオブジェクトの型にマッピングします。 |
void | setPreparedStatementSetter(org.springframework.jdbc.core.PreparedStatementSetter preparedStatementSetter) 指定されたクエリで設定する必要があるパラメーター値がある場合に使用する PreparedStatementSetter を設定します。 |
void | setRowMapper(org.springframework.jdbc.core.RowMapper<T> rowMapper) read() へのすべての呼び出しに使用される RowMapper を設定します。 |
void | setSql(java.lang.String sql) カーソルの作成時に使用される SQL ステートメントを設定します。 |
applyStatementSettings, doClose, doOpen, doRead, getDataSource, getExceptionTranslator, handleWarnings, initializeConnection, isUseSharedExtendedConnection, jumpToItem, setConnectionAutoCommit, setDataSource, setDriverSupportsAbsolute, setFetchSize, setIgnoreWarnings, setMaxRows, setQueryTimeout, setUseSharedExtendedConnection, setVerifyCursorPosition, translateSqlException
close, getCurrentItemCount, isSaveState, open, read, setCurrentItemCount, setMaxItemCount, setSaveState, update
getExecutionContextKey, setExecutionContextName, setName
public void setRowMapper(org.springframework.jdbc.core.RowMapper<T> rowMapper)
rowMapper
- 各アイテムのマッピングに使用されるマッパー public void setSql(java.lang.String sql)
sql
- SQL ステートメント public void setPreparedStatementSetter(org.springframework.jdbc.core.PreparedStatementSetter preparedStatementSetter)
preparedStatementSetter
- ステートメントの記入を担当する PreparedStatementSetterpublic void afterPropertiesSet() throws java.lang.Exception
org.springframework.beans.factory.InitializingBean
の afterPropertiesSet
AbstractCursorItemReader<T>
の afterPropertiesSet
java.lang.IllegalArgumentException
- データソースまたは SQL プロパティが設定されていない場合。java.lang.Exception
protected void openCursor(java.sql.Connection con)
AbstractCursorItemReader<T>
の openCursor
@Nullable protected T readCursor(java.sql.ResultSet rs, int currentRow) throws java.sql.SQLException
AbstractCursorItemReader
AbstractCursorItemReader<T>
の readCursor
rs
- 現在の結果セット currentRow
- 結果セットの現在の位置 java.sql.SQLException
- 現在の結果セットとの相互作用が失敗した場合 @Deprecated protected void cleanupOnClose() throws java.lang.Exception
cleanupOnClose(java.sql.Connection)
を優先して非推奨になり、将来のリリースで削除される予定です。AbstractCursorItemReader<T>
の cleanupOnClose
java.lang.Exception
- リソースをクリーンアップできない場合 protected void cleanupOnClose(java.sql.Connection connection) throws java.lang.Exception
AbstractCursorItemReader<T>
の cleanupOnClose
connection
- データベースへ java.lang.Exception
- リソースをクリーンアップできない場合 public java.lang.String getSql()
AbstractCursorItemReader<T>
の getSql