Package groovy.sql

## Class Sql.AbstractQueryCommand

- java.lang.Object
- - groovy.sql.Sql.AbstractQueryCommand

- Enclosing class:
    Sql

      protected abstract class Sql.AbstractQueryCommand
      extends java.lang.Object

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.lang.String` | `sql` |
    `protected java.sql.Statement` | `statement` |

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `AbstractQueryCommand​(java.lang.String sql)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `closeResources()` | After performing the execute operation and making use of its return, it's necessary to free the resources allocated for the statement.
    `protected void` | `closeResources​(java.sql.ResultSet rs)` | After performing the execute operation and making use of its return, it's necessary to free the resources allocated for the statement.
    `protected java.sql.ResultSet` | `execute()` | Execute the command that's defined by the subclass following the Command pattern.
    `protected int` | `getMaxRows()` | Get the maximum number of rows to return in the ResultSet
    `protected abstract java.sql.ResultSet` | `runQuery​(java.sql.Connection connection)` | Perform the query.
    `protected void` | `setMaxRows​(int maxRows)` | Set the maximum number of rows to return in the ResultSet

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### sql

          protected final java.lang.String sql

    - #### statement

          protected java.sql.Statement statement

  - ### Constructor Detail

    - #### AbstractQueryCommand

          protected AbstractQueryCommand​(java.lang.String sql)

  - ### Method Detail

    - #### execute

          protected final java.sql.ResultSet execute()
                                              throws java.sql.SQLException

      Execute the command that's defined by the subclass following the Command pattern. Specialized parameters are held in the command instances.
      Returns:
        ResultSet from executing a query
      Throws:
        `java.sql.SQLException` - if a database error occurs

    - #### closeResources

          protected final void closeResources()

      After performing the execute operation and making use of its return, it's necessary to free the resources allocated for the statement.

    - #### closeResources

          protected final void closeResources​(java.sql.ResultSet rs)

      After performing the execute operation and making use of its return, it's necessary to free the resources allocated for the statement.
      Parameters:
        `rs` - allows the caller to conveniently close its resource as well

    - #### runQuery

          protected abstract java.sql.ResultSet runQuery​(java.sql.Connection connection)
                                                  throws java.sql.SQLException

      Perform the query. Must set statement field so that the main (`execute()`) method can clean up. This is the method that encloses the variant part of the code.
      Parameters:
        `connection` - the connection to use
      Returns:
        ResultSet from an executeQuery method.
      Throws:
        `java.sql.SQLException` - if a database error occurs

    - #### setMaxRows

          protected void setMaxRows​(int maxRows)

      Set the maximum number of rows to return in the ResultSet
      Parameters:
        `maxRows` - the maximum number of rows

    - #### getMaxRows

          protected int getMaxRows()

      Get the maximum number of rows to return in the ResultSet
      Returns:
        the maximum number of rows