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()
Methods inherited from class groovy.lang.GroovyObjectSupport
getMetaClass, setMetaClass
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface groovy.lang.GroovyObject
getProperty, setProperty
-
Field Details
-
batchSize
protected int batchSize -
batchCount
protected int batchCount -
log
-
results
-
-
Constructor Details
-
BatchingStatementWrapper
-
-
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
-