Class Query

All Implemented Interfaces:
Closeable, AutoCloseable, Configurable<Query>, ResultBearing

public class Query extends SqlStatement<Query> implements ResultBearing
Statement providing convenience result handling for SQL queries.
  • Constructor Details

  • Method Details

    • execute

      public <R> R execute(ResultProducer<R> producer)
      Executes the query, returning the result obtained from the given ResultProducer.
      Type Parameters:
      R - the type of the result
      Parameters:
      producer - the result producer.
      Returns:
      value returned by the result producer.
    • scanResultSet

      public <R> R scanResultSet(ResultSetScanner<R> mapper)
      Description copied from interface: ResultBearing
      Invokes the mapper with a result set supplier, and returns the value returned by the mapper.
      Specified by:
      scanResultSet in interface ResultBearing
      Type Parameters:
      R - result type returned by the mapper.
      Parameters:
      mapper - result set scanner
      Returns:
      the value returned by the mapper.
    • setFetchSize

      public Query setFetchSize(int fetchSize)
      Specify the fetch size for the query. This should cause the results to be fetched from the underlying RDBMS in groups of rows equal to the number passed. This is useful for doing chunked streaming of results when exhausting memory could be a problem.
      Parameters:
      fetchSize - the number of rows to fetch in a bunch
      Returns:
      the modified query
    • setMaxRows

      public Query setMaxRows(int maxRows)
      Specify the maximum number of rows the query is to return. This uses the underlying JDBC Statement.setMaxRows(int)}.
      Parameters:
      maxRows - maximum number of rows to return
      Returns:
      modified query
    • setMaxFieldSize

      public Query setMaxFieldSize(int maxFields)
      Specify the maximum field size in the result set. This uses the underlying JDBC Statement.setMaxFieldSize(int)
      Parameters:
      maxFields - maximum field size
      Returns:
      modified query
    • concurrentUpdatable

      public Query concurrentUpdatable()
      Specify that the result set should be concurrent updatable. This will allow the update methods to be called on the result set produced by this Query.
      Returns:
      the modified query
    • getHandle

      public Handle getHandle()
    • getConfig

      public ConfigRegistry getConfig()
      Description copied from interface: Configurable
      Returns the configuration registry associated with this object.
      Specified by:
      getConfig in interface Configurable<This>
      Returns:
      the configuration registry associated with this object.
    • getContext

      public final StatementContext getContext()
      Returns the statement context associated with this statement.
      Returns:
      the statement context associated with this statement.
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable