Interface InterruptibleBatchPreparedStatementSetter
- All Superinterfaces:
BatchPreparedStatementSetter
- All Known Implementing Classes:
AbstractInterruptibleBatchPreparedStatementSetter
public interface InterruptibleBatchPreparedStatementSetter extends BatchPreparedStatementSetter
Extension of theBatchPreparedStatementSetter
interface, adding a batch exhaustion check.This interface allows you to signal the end of a batch rather than having to determine the exact batch size upfront. Batch size is still being honored but it is now the maximum size of the batch.
The
isBatchExhausted(int)
method is called after each call toBatchPreparedStatementSetter.setValues(java.sql.PreparedStatement, int)
to determine whether there were some values added, or if the batch was determined to be complete and no additional values were provided during the last call tosetValues
.Consider extending the
AbstractInterruptibleBatchPreparedStatementSetter
base class instead of implementing this interface directly, using a singlesetValuesIfAvailable
callback method that checks for available values and sets them, returning whether values have actually been provided.- Since:
- 2.0
- Author:
- Thomas Risberg, Juergen Hoeller
- See Also:
JdbcTemplate.batchUpdate(String, BatchPreparedStatementSetter)
,AbstractInterruptibleBatchPreparedStatementSetter
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
isBatchExhausted(int i)
Return whether the batch is complete, that is, whether there were no additional values added during the lastsetValues
call.Methods inherited from interface org.springframework.jdbc.core.BatchPreparedStatementSetter
getBatchSize, setValues
Method Detail
isBatchExhausted
boolean isBatchExhausted(int i)
Return whether the batch is complete, that is, whether there were no additional values added during the lastsetValues
call.NOTE: If this method returns
true
, any parameters that might have been set during the lastsetValues
call will be ignored! Make sure that you set a corresponding internal flag if you detect exhaustion at the beginning of yoursetValues
implementation, letting this method returntrue
based on the flag.- Parameters:
i
- index of the statement we're issuing in the batch, starting from 0- Returns:
- whether the batch is already exhausted
- See Also:
BatchPreparedStatementSetter.setValues(java.sql.PreparedStatement, int)
,AbstractInterruptibleBatchPreparedStatementSetter.setValuesIfAvailable(java.sql.PreparedStatement, int)