Package groovy.sql
Class BatchingStatementWrapper
java.lang.Object
groovy.lang.GroovyObjectSupport
groovy.sql.BatchingStatementWrapper
- All Implemented Interfaces:
GroovyObject
,AutoCloseable
- Direct Known Subclasses:
BatchingPreparedStatementWrapper
public class BatchingStatementWrapper extends GroovyObjectSupport implements AutoCloseable
Class which delegates to a Statement but keeps track of a batch count size.
If the batch count reaches the predefined number, this Statement does an executeBatch()
automatically. If batchSize is zero, then no batching is performed.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description BatchingStatementWrapper(Statement delegate, int batchSize, Logger log)
-
Method Summary
Modifier and Type Method Description void
addBatch(String sql)
void
clearBatch()
void
close()
int[]
executeBatch()
protected void
incrementBatchCount()
Increments batch count (after addBatch(..) has been called) and executedelegate.executeBatch()
if batchSize has been reached.Object
invokeMethod(String name, Object args)
Invokes the given method.protected void
processResult(int[] lastResult)
protected void
reset()
-
Field Details
-
batchSize
protected int batchSize -
batchCount
protected int batchCount -
log
-
results
-
-
Constructor Details
-
Method Details
-
reset
protected void reset() -
invokeMethod
Description copied from interface:GroovyObject
Invokes the given method.- Specified by:
invokeMethod
in interfaceGroovyObject
- Parameters:
name
- the name of the method to callargs
- the arguments to use for the method call- Returns:
- the result of invoking the method
-
addBatch
- Throws:
SQLException
-
incrementBatchCount
Increments batch count (after addBatch(..) has been called) and executedelegate.executeBatch()
if batchSize has been reached.- Throws:
SQLException
-
clearBatch
- Throws:
SQLException
-
executeBatch
- Throws:
SQLException
-
processResult
protected void processResult(int[] lastResult) -
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
SQLException
-