Package groovy.sql

Class 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 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)
        Description copied from interface: GroovyObject
        Invokes the given method.
        Specified by:
        invokeMethod in interface GroovyObject
        Overrides:
        invokeMethod in class GroovyObjectSupport
        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