Interface InterruptibleBatchPreparedStatementSetter
- All Superinterfaces:
BatchPreparedStatementSetter
- All Known Implementing Classes:
AbstractInterruptibleBatchPreparedStatementSetter
public interface InterruptibleBatchPreparedStatementSetter extends BatchPreparedStatementSetter
Extension of theBatchPreparedStatementSetterinterface, 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
AbstractInterruptibleBatchPreparedStatementSetterbase class instead of implementing this interface directly, using a singlesetValuesIfAvailablecallback 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 booleanisBatchExhausted(int i)Return whether the batch is complete, that is, whether there were no additional values added during the lastsetValuescall.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 lastsetValuescall.NOTE: If this method returns
true, any parameters that might have been set during the lastsetValuescall will be ignored! Make sure that you set a corresponding internal flag if you detect exhaustion at the beginning of yoursetValuesimplementation, letting this method returntruebased 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)