Class AbstractInterruptibleBatchPreparedStatementSetter
java.lang.Object
org.springframework.jdbc.core.support.AbstractInterruptibleBatchPreparedStatementSetter
- All Implemented Interfaces:
BatchPreparedStatementSetter
,InterruptibleBatchPreparedStatementSetter
public abstract class AbstractInterruptibleBatchPreparedStatementSetter
extends Object
implements InterruptibleBatchPreparedStatementSetter
Abstract implementation of the
InterruptibleBatchPreparedStatementSetter
interface, combining the check for available values and setting of those
into a single callback method setValuesIfAvailable(java.sql.PreparedStatement, int)
.- Since:
- 2.0
- Author:
- Juergen Hoeller
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
This implementation returnsInteger.MAX_VALUE
.final boolean
isBatchExhausted
(int i) This implementation return this instance's current exhaustion flag.final void
setValues
(PreparedStatement ps, int i) This implementation callssetValuesIfAvailable(java.sql.PreparedStatement, int)
and sets this instance's exhaustion flag accordingly.protected abstract boolean
setValuesIfAvailable
(PreparedStatement ps, int i) Check for available values and set them on the given PreparedStatement.
-
Constructor Details
-
AbstractInterruptibleBatchPreparedStatementSetter
public AbstractInterruptibleBatchPreparedStatementSetter()
-
-
Method Details
-
setValues
This implementation callssetValuesIfAvailable(java.sql.PreparedStatement, int)
and sets this instance's exhaustion flag accordingly.- Specified by:
setValues
in interfaceBatchPreparedStatementSetter
- Parameters:
ps
- the PreparedStatement to invoke setter methods oni
- index of the statement we're issuing in the batch, starting from 0- Throws:
SQLException
- if an SQLException is encountered (i.e. there is no need to catch SQLException)
-
isBatchExhausted
public final boolean isBatchExhausted(int i) This implementation return this instance's current exhaustion flag.- Specified by:
isBatchExhausted
in interfaceInterruptibleBatchPreparedStatementSetter
- Parameters:
i
- index of the statement we're issuing in the batch, starting from 0- Returns:
- whether the batch is already exhausted
- See Also:
-
getBatchSize
public int getBatchSize()This implementation returnsInteger.MAX_VALUE
. Can be overridden in subclasses to lower the maximum batch size.- Specified by:
getBatchSize
in interfaceBatchPreparedStatementSetter
- Returns:
- the number of statements in the batch
-
setValuesIfAvailable
Check for available values and set them on the given PreparedStatement. If no values are available anymore, returnfalse
.- Parameters:
ps
- the PreparedStatement we'll invoke setter methods oni
- index of the statement we're issuing in the batch, starting from 0- Returns:
- whether there were values to apply (that is, whether the applied parameters should be added to the batch and this method should be called for a further iteration)
- Throws:
SQLException
- if an SQLException is encountered (i.e. there is no need to catch SQLException)
-