public interface InterruptibleBatchPreparedStatementSetter extends BatchPreparedStatementSetter
BatchPreparedStatementSetter
インターフェースの拡張、バッチ枯渇チェックの追加。このインターフェースを使用すると、正確なバッチサイズを事前に決定する必要がなく、バッチの終了を通知できます。バッチサイズは引き続き有効ですが、現在はバッチの最大サイズです。
BatchPreparedStatementSetter.setValues(java.sql.PreparedStatement, int)
を呼び出すたびに isBatchExhausted(int)
メソッドが呼び出され、追加された値があるかどうか、またはバッチが完了したと判断され、最後の setValues
の呼び出し中に追加の値が提供されなかったかどうかが判断されます。
このインターフェースを直接実装するのではなく、AbstractInterruptibleBatchPreparedStatementSetter
基本クラスを継承することを検討してください。使用可能な値をチェックして設定し、値が実際に提供されているかどうかを返す単一の setValuesIfAvailable
コールバックメソッドを使用します。
JdbcTemplate.batchUpdate(String, BatchPreparedStatementSetter)
, AbstractInterruptibleBatchPreparedStatementSetter
修飾子と型 | メソッドと説明 |
---|---|
boolean | isBatchExhausted(int i) バッチが完了したかどうか、つまり、最後の setValues 呼び出し中に追加の値がなかったかどうかを返します。 |
getBatchSize, setValues
boolean isBatchExhausted(int i)
setValues
呼び出し中に追加の値がなかったかどうかを返します。 注:このメソッドが true
を返す場合、最後の setValues
呼び出し中に設定された可能性のあるパラメーターはすべて無視されます。setValues
実装の開始時に枯渇を検出した場合は、対応する内部フラグを設定して、このメソッドがフラグに基づいて true
を返すようにしてください。
i
- バッチで発行するステートメントのインデックス(0 から開始)BatchPreparedStatementSetter.setValues(java.sql.PreparedStatement, int)
, AbstractInterruptibleBatchPreparedStatementSetter.setValuesIfAvailable(java.sql.PreparedStatement, int)