Package groovy.sql

Class BatchingStatementWrapper

  • All Implemented Interfaces:
    groovy.lang.GroovyObject, java.lang.AutoCloseable
    Direct Known Subclasses:
    BatchingPreparedStatementWrapper

    public class BatchingStatementWrapper
    extends groovy.lang.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

      All Methods Instance Methods Concrete Methods 
      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)  
      protected void processResult​(int[] lastResult)  
      protected void reset()  
      • Methods inherited from class groovy.lang.GroovyObjectSupport

        getMetaClass, getProperty, setMetaClass, setProperty
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • 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 Detail

      • BatchingStatementWrapper

        public BatchingStatementWrapper​(java.sql.Statement delegate,
                                        int batchSize,
                                        java.util.logging.Logger log)
    • Method Detail

      • reset

        protected void reset()
      • invokeMethod

        public java.lang.Object invokeMethod​(java.lang.String name,
                                             java.lang.Object args)
        Specified by:
        invokeMethod in interface groovy.lang.GroovyObject
        Overrides:
        invokeMethod in class groovy.lang.GroovyObjectSupport
      • 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