Package groovy.sql
Class BatchingStatementWrapper
java.lang.Object
groovy.lang.GroovyObjectSupport
groovy.sql.BatchingStatementWrapper
- All Implemented Interfaces:
GroovyObject,java.lang.AutoCloseable
- Direct Known Subclasses:
BatchingPreparedStatementWrapper
public class BatchingStatementWrapper extends GroovyObjectSupport implements java.lang.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
Fields Modifier and Type Field Description protected intbatchCountprotected intbatchSizeprotected java.util.logging.Loggerlogprotected java.util.List<java.lang.Integer>results -
Constructor Summary
Constructors Constructor Description BatchingStatementWrapper(java.sql.Statement delegate, int batchSize, java.util.logging.Logger log) -
Method Summary
Modifier and Type Method Description voidaddBatch(java.lang.String sql)voidclearBatch()voidclose()int[]executeBatch()protected voidincrementBatchCount()Increments batch count (after addBatch(..) has been called) and executedelegate.executeBatch()if batchSize has been reached.java.lang.ObjectinvokeMethod(java.lang.String name, java.lang.Object args)Invokes the given method.protected voidprocessResult(int[] lastResult)protected voidreset()Methods inherited from class groovy.lang.GroovyObjectSupport
getMetaClass, setMetaClassMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface groovy.lang.GroovyObject
getProperty, setProperty
-
Field Details
-
batchSize
protected int batchSize -
batchCount
protected int batchCount -
log
protected java.util.logging.Logger log -
results
protected java.util.List<java.lang.Integer> results
-
-
Constructor Details
-
BatchingStatementWrapper
public BatchingStatementWrapper(java.sql.Statement delegate, int batchSize, java.util.logging.Logger log)
-
-
Method Details
-
reset
protected void reset() -
invokeMethod
public java.lang.Object invokeMethod(java.lang.String name, java.lang.Object args)Description copied from interface:GroovyObjectInvokes the given method.- Specified by:
invokeMethodin 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
public void addBatch(java.lang.String sql) throws java.sql.SQLException- Throws:
java.sql.SQLException
-
incrementBatchCount
protected void incrementBatchCount() throws java.sql.SQLExceptionIncrements batch count (after addBatch(..) has been called) and executedelegate.executeBatch()if batchSize has been reached.- Throws:
java.sql.SQLException
-
clearBatch
public void clearBatch() throws java.sql.SQLException- Throws:
java.sql.SQLException
-
executeBatch
public int[] executeBatch() throws java.sql.SQLException- Throws:
java.sql.SQLException
-
processResult
protected void processResult(int[] lastResult) -
close
public void close() throws java.sql.SQLException- Specified by:
closein interfacejava.lang.AutoCloseable- Throws:
java.sql.SQLException
-