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
All Methods Instance Methods Concrete Methods 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, getProperty, setMetaClass, setProperty
-
-
-
-
Method Detail
-
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- Overrides:
invokeMethodin classGroovyObjectSupport- 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
-
-