クラス BatchSqlUpdate
java.lang.ObjectSE
org.springframework.jdbc.object.RdbmsOperation
org.springframework.jdbc.object.SqlOperation
org.springframework.jdbc.object.SqlUpdate
org.springframework.jdbc.object.BatchSqlUpdate
- 実装されているすべてのインターフェース:
InitializingBean
バッチ更新操作を実行する SqlUpdate サブクラス。更新するレコードのキューイングをカプセル化し、
flush が呼び出されるか、指定されたバッチサイズに達すると、単一のバッチとして追加します。 このパッケージの他のすべての JDBC 操作オブジェクトとは対照的に、このクラスはスレッドセーフではないオブジェクトであることに注意してください。使用するたびに新しいインスタンスを作成するか、同じスレッド内で再利用する前に reset を呼び出す必要があります。
- 導入:
- 1.1
- 作成者:
- Keith Donald, Juergen Hoeller
- 関連事項:
フィールドのサマリー
フィールドクラス RdbmsOperation から継承されたフィールド
loggerコンストラクターの概要
コンストラクターコンストラクター説明JavaBean として使用できるようにするコンストラクター。BatchSqlUpdate(DataSourceSE ds, StringSE sql) 指定された DataSource と SQL で更新オブジェクトを構築します。BatchSqlUpdate(DataSourceSE ds, StringSE sql, int[] types) 指定された DataSource、SQL、匿名パラメーターを使用して更新オブジェクトを作成します。BatchSqlUpdate(DataSourceSE ds, StringSE sql, int[] types, int batchSize) 特定の DataSource、SQL、匿名パラメーターを使用して、影響を受ける可能性のある最大行数を指定して、更新オブジェクトを作成します。メソッドのサマリー
修飾子と型メソッド説明int[]flush()キューに入れられた更新操作をトリガーして、最終バッチとして追加します。intすでに実行されたステートメントの数を返します。intキュー内のステートメントまたはステートメントパラメーターの現在の数を返します。int[]すでに実行されたすべてのステートメントの影響を受ける行の数を返します。voidreset()ステートメントパラメーターキュー、影響を受ける行のキャッシュ、実行回数をリセットします。voidsetBatchSize(int batchSize) 自動中間フラッシュをトリガーするステートメントの数を設定します。voidsetTrackRowsAffected(boolean trackRowsAffected) この操作オブジェクトによって実行されるバッチ更新の影響を受ける行を追跡するかどうかを設定します。protected booleanBatchSqlUpdate は、BLOB または CLOB パラメーターをサポートしていません。int指定されたステートメントパラメーターをすぐに実行するのではなく、キューに追加するupdateのオーバーライドバージョン。クラス SqlUpdate から継承されたメソッド
checkRowsAffected, setMaxRowsAffected, setRequiredRowsAffected, update, update, update, update, update, update, update, update, updateByNamedParam, updateByNamedParamクラス SqlOperation から継承されたメソッド
compileInternal, getParsedSql, newPreparedStatementCreator, newPreparedStatementCreator, newPreparedStatementSetter, onCompileInternalクラス RdbmsOperation から継承されたメソッド
afterPropertiesSet, allowsUnusedParameters, checkCompiled, compile, declareParameter, getDeclaredParameters, getGeneratedKeysColumnNames, getJdbcTemplate, getResultSetType, getSql, isCompiled, isReturnGeneratedKeys, isUpdatableResults, resolveSql, setDataSource, setFetchSize, setGeneratedKeysColumnNames, setJdbcTemplate, setMaxRows, setParameters, setQueryTimeout, setResultSetType, setReturnGeneratedKeys, setSql, setTypes, setUpdatableResults, validateNamedParameters, validateParameters
フィールドの詳細
DEFAULT_BATCH_SIZE
public static final int DEFAULT_BATCH_SIZEバッチをコミットする前に累積する挿入のデフォルト数 (5000)。- 関連事項:
コンストラクターの詳細
BatchSqlUpdate
public BatchSqlUpdate()JavaBean として使用できるコンストラクター。DataSource と SQL は、コンパイルして使用する前に提供する必要があります。- 関連事項:
BatchSqlUpdate
指定された DataSource と SQL で更新オブジェクトを構築します。- パラメーター:
ds- 接続を取得するために使用する DataSourcesql- 実行する SQL ステートメント
BatchSqlUpdate
指定された DataSource、SQL、匿名パラメーターを使用して更新オブジェクトを作成します。- パラメーター:
ds- 接続を取得するために使用する DataSourcesql- 実行する SQL ステートメントtypes-java.sql.Typesクラスで定義されているパラメーターの SQL 型- 関連事項:
BatchSqlUpdate
特定の DataSource、SQL、匿名パラメーターを使用して、影響を受ける可能性のある最大行数を指定して、更新オブジェクトを作成します。- パラメーター:
ds- 接続を取得するために使用する DataSourcesql- 実行する SQL ステートメントtypes-java.sql.Typesクラスで定義されているパラメーターの SQL 型batchSize- 自動中間フラッシュをトリガーするステートメントの数- 関連事項:
メソッドの詳細
setBatchSize
public void setBatchSize(int batchSize) 自動中間フラッシュをトリガーするステートメントの数を設定します。update呼び出しまたは指定されたステートメントパラメーターは、バッチサイズが満たされるまでキューに入れられます。満たされると、キューが空になり、バッチが実行されます。明示的な
flush呼び出しを使用して、すでにキューに入れられているステートメントをフラッシュすることもできます。すべてのステートメントがフラッシュされたことを保証するために、すべてのパラメーターをキューに入れた後にこれを行う必要があることに注意してください。setTrackRowsAffected
public void setTrackRowsAffected(boolean trackRowsAffected) この操作オブジェクトによって実行されるバッチ更新の影響を受ける行を追跡するかどうかを設定します。デフォルトは "true" です。これをオフにすると、行数のリストに必要なメモリが節約されます。
- 関連事項:
supportsLobParameters
protected boolean supportsLobParameters()BatchSqlUpdate は、BLOB または CLOB パラメーターをサポートしていません。- オーバーライド:
- クラス
RdbmsOperationのsupportsLobParameters
update
指定されたステートメントパラメーターをすぐに実行するのではなく、キューに追加するupdateのオーバーライドバージョン。SqlUpdate 基本クラスの他のすべてのupdateメソッドはこのメソッドを通過するため、同様に動作します。実際にバッチを実行するには、
flushを呼び出す必要があります。指定されたバッチサイズに達すると、暗黙的なフラッシュが発生します。すべてのステートメントをフラッシュするには、最終的にflushを呼び出す必要があります。- オーバーライド:
- クラス
SqlUpdateのupdate - パラメーター:
params- パラメーターオブジェクトの配列- 戻り値:
- 更新の影響を受ける行の数 (ステートメントは実際にはこのメソッドによって実行されないため、常に -1 は「該当なし」を意味します)
- 例外:
DataAccessException- 関連事項:
flush
public int[] flush()キューに入れられた更新操作をトリガーして、最終バッチとして追加します。- 戻り値:
- 各ステートメントの影響を受ける行数の配列
getQueueCount
public int getQueueCount()キュー内のステートメントまたはステートメントパラメーターの現在の数を返します。getExecutionCount
public int getExecutionCount()すでに実行されたステートメントの数を返します。getRowsAffected
public int[] getRowsAffected()すでに実行されたすべてのステートメントの影響を受ける行の数を返します。resetが呼び出されるまで、flushのすべての戻り値を累積します。- 戻り値:
- 各ステートメントの影響を受ける行数の配列
- 関連事項:
reset
public void reset()ステートメントパラメーターキュー、影響を受ける行のキャッシュ、実行回数をリセットします。