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`