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 and Description
    --- | ---
    `protected java.lang.String` | `sql`
    `protected java.sql.Statement` | `statement`

  - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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 abstract java.sql.ResultSet` | `runQuery(java.sql.Connection connection)` Perform the query.

    - ### 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

    - #### Sql.AbstractQueryCommand

          protected Sql.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