public class StoredProcedureItemReader<T> extends AbstractCursorItemReader<T>
ストアドプロシージャを実行し、返されたカーソルを読み取り、ResultSet
の次の行を継続的に取得するアイテムリーダーの実装。
カーソルを開くために使用される呼び出し可能ステートメントは、"READ_ONLY" オプションと "TYPE_FORWARD_ONLY" オプションを使用して作成されます。デフォルトでは、カーソルは別の接続を使用して開かれます。つまり、ステップ処理の一部として作成されたトランザクションには参加しません。
AbstractItemCountingItemStreamItemReader.read()
への各呼び出しは、提供された RowMapper を呼び出し、ResultSet を渡します。
このクラスは、同様の JdbcCursorItemReader
クラスをモデルにしています。
log, rs, VALUE_NOT_SET
コンストラクターと説明 |
---|
StoredProcedureItemReader() |
修飾子と型 | メソッドと説明 |
---|---|
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 | setFunction(boolean function) このストアドプロシージャが関数であるかどうかを設定します。 |
void | setParameters(org.springframework.jdbc.core.SqlParameter[] parameters) 1 つ以上の宣言されたパラメーターを追加します。 |
void | setPreparedStatementSetter(org.springframework.jdbc.core.PreparedStatementSetter preparedStatementSetter) 指定されたクエリで設定する必要があるパラメーター値がある場合に使用する PreparedStatementSetter を設定します。 |
void | setProcedureName(java.lang.String sprocedureName) カーソルの作成時に使用される SQL ステートメントを設定します。 |
void | setRefCursorPosition(int refCursorPosition) REFCURSOR のパラメーター位置を設定します。 |
void | setRowMapper(org.springframework.jdbc.core.RowMapper<T> rowMapper) read() へのすべての呼び出しに使用される RowMapper を設定します。 |
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
- 結果のマッピングに使用する RowMapperpublic void setProcedureName(java.lang.String sprocedureName)
sprocedureName
- ステートメントの呼び出しに使用される SQLpublic void setPreparedStatementSetter(org.springframework.jdbc.core.PreparedStatementSetter preparedStatementSetter)
preparedStatementSetter
- SQL への入力に使用 public void setParameters(org.springframework.jdbc.core.SqlParameter[] parameters)
parameters
- 宣言された SqlParameter
オブジェクトを含む配列 public void setFunction(boolean function)
function
- インジケータ public void setRefCursorPosition(int refCursorPosition)
refCursorPosition
- REFCURSOR のパラメーター位置 public 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