Package: groovy.sql

## [Java] Class Sql.AbstractQueryCommand

- groovy.sql.Sql.AbstractQueryCommand

-     protected abstract class Sql.AbstractQueryCommand
      extends Object

  Base command object for query operations that manage statement and connection lifecycle.

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `protected String` | `sql` | The SQL text executed by this command.
    `protected Statement` | `statement` | The statement created while running the command.

  - ### Constructor Summary

    Constructors
    Constructor and description
    `protected AbstractQueryCommand(String sql)` Creates a query command for the supplied SQL text.

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `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.
    `` | `protected final void` | `closeResources(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 final 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 ResultSet` | `runQuery(Connection connection)` Perform the query.
    `` | `protected void` | `setMaxRows(int maxRows)` Set the maximum number of rows to return in the ResultSet

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### protected final String sql

      The SQL text executed by this command.

    - #### protected Statement statement

      The statement created while running the command.

  - ### Constructor Detail

    - #### protected AbstractQueryCommand(String sql)

      Creates a query command for the supplied SQL text.

      Parameters:
        `sql` - the SQL statement to execute

  - ### Method Detail

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

    - #### protected final void closeResources(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

    - #### protected final ResultSet execute()

      Execute the command that's defined by the subclass following the Command pattern. Specialized parameters are held in the command instances.

      throws:
        SQLException if a database error occurs
      Returns:
        ResultSet from executing a query

    - #### protected int getMaxRows()

      Get the maximum number of rows to return in the ResultSet

      Returns:
        the maximum number of rows

    - #### protected abstract ResultSet runQuery(Connection connection)

      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.

      throws:
        SQLException if a database error occurs
      Parameters:
        `connection` - the connection to use
      Returns:
        ResultSet from an executeQuery method.

    - #### protected void setMaxRows(int maxRows)

      Set the maximum number of rows to return in the ResultSet

      Parameters:
        `maxRows` - the maximum number of rows