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 int batchCount  
    protected int batchSize  
    protected java.util.logging.Logger log  
    protected 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
    void addBatch​(java.lang.String sql)  
    void clearBatch()  
    void close()  
    int[] executeBatch()  
    protected void incrementBatchCount()
    Increments batch count (after addBatch(..) has been called) and execute delegate.executeBatch() if batchSize has been reached.
    java.lang.Object invokeMethod​(java.lang.String name, java.lang.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

      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: GroovyObject
      Invokes the given method.
      Specified by:
      invokeMethod in interface GroovyObject
      Parameters:
      name - the name of the method to call
      args - 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.SQLException
      Increments batch count (after addBatch(..) has been called) and execute delegate.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:
      close in interface java.lang.AutoCloseable
      Throws:
      java.sql.SQLException