Class RowView

java.lang.Object
org.jdbi.v3.core.result.RowView

public abstract class RowView extends Object
A RowView is an accessor for ResultSet that uses RowMapper or ColumnMapper to extract values. It is not valid outside the scope of the method that receives it.
  • Constructor Details

    • RowView

      public RowView()
  • Method Details

    • getRow

      public <T> T getRow(Class<T> rowType)
      Use a row mapper to extract a type from the current ResultSet row.
      Type Parameters:
      T - the type to map
      Parameters:
      rowType - the Class of the type
      Returns:
      the materialized T
    • getRow

      @Alpha public <T> T getRow(Class<T> rowType, String prefix)
      Use a prefixed row mapper to extract a type from the current ResultSet row. The mapper must declare the given column name prefix, see getRow(Type, String).
      Type Parameters:
      T - the type to map
      Parameters:
      rowType - the Class of the type
      prefix - the column name prefix the mapper must declare, never null
      Returns:
      the materialized T
    • getRow

      public <T> T getRow(GenericType<T> rowType)
      Use a row mapper to extract a type from the current ResultSet row.
      Type Parameters:
      T - the type to map
      Parameters:
      rowType - the GenericType of the type
      Returns:
      the materialized T
    • getRow

      @Alpha public <T> T getRow(GenericType<T> rowType, String prefix)
      Use a prefixed row mapper to extract a type from the current ResultSet row. The mapper must declare the given column name prefix, see getRow(Type, String).
      Type Parameters:
      T - the type to map
      Parameters:
      rowType - the GenericType of the type
      prefix - the column name prefix the mapper must declare, never null
      Returns:
      the materialized T
    • getRow

      public abstract Object getRow(Type type)
      Use a row mapper to extract a type from the current ResultSet row.
      Parameters:
      type - the type to map
      Returns:
      the materialized object
    • getRow

      @Alpha public Object getRow(Type type, String prefix)
      Use a prefixed row mapper to extract a type from the current ResultSet row.

      A mapper that implements PrefixedRowMapper matches if it declares a prefix equal to the given prefix, and a mapper that declares no prefix matches the empty prefix only. This makes it possible to register multiple mappers for the same type with different column name prefixes, for example when a query joins the same table twice, and select between them per call. A mapper that does not match the given prefix is not used; the lookup fails rather than fall back to a mapper with another prefix. To look up a mapper by type alone, use getRow(Type).

      Parameters:
      type - the type to map
      prefix - the column name prefix the mapper must declare, never null
      Returns:
      the materialized object
      Throws:
      NoSuchMapperException - if no registered row mapper maps the given type with the given prefix
    • getColumnNames

      @Beta public List<String> getColumnNames()
      Returns the labels of the columns of the result set, in column order, as ResultSetMetaData.getColumnLabel(int) returns them.
      Returns:
      the column labels, as an unmodifiable list
    • getRow

      @Beta public <T> T getRow(RowMapper<T> mapper)
      Maps the current row with the given row mapper. The mapper is specialized once per result set, keyed by mapper instance, so pass the same instance for every row.
      Type Parameters:
      T - the type to map
      Parameters:
      mapper - the row mapper
      Returns:
      the materialized T
    • getColumn

      @Beta public Object getColumn(String column)
      Returns the value of a column as the JDBC driver returns it from ResultSet.getObject(String), without a column mapper. Use this to read a value whose type does not matter, such as a key that identifies a row.
      Parameters:
      column - the column name
      Returns:
      the column value, or null for SQL NULL
    • getColumn

      @Beta public Object getColumn(int column)
      Returns the value of a column as the JDBC driver returns it from ResultSet.getObject(int), without a column mapper. Use this to read a value whose type does not matter, such as a key that identifies a row.
      Parameters:
      column - the column index
      Returns:
      the column value, or null for SQL NULL
    • getColumn

      public <T> T getColumn(String column, Class<T> type)
      Use a column mapper to extract a type from the current ResultSet row.
      Type Parameters:
      T - the type to map
      Parameters:
      column - the column name
      type - the Class of the type
      Returns:
      the materialized T
    • getColumn

      public <T> T getColumn(int column, Class<T> type)
      Use a column mapper to extract a type from the current ResultSet row.
      Type Parameters:
      T - the type to map
      Parameters:
      column - the column index
      type - the Class of the type
      Returns:
      the materialized T
    • getColumn

      public <T> T getColumn(String column, GenericType<T> type)
      Use a column mapper to extract a type from the current ResultSet row.
      Type Parameters:
      T - the type to map
      Parameters:
      column - the column name
      type - the GenericType of the type
      Returns:
      the materialized T
    • getColumn

      public abstract <T> T getColumn(int column, QualifiedType<T> type)
      Use a qualified column mapper to extract a type from the current ResultSet row.
      Type Parameters:
      T - the type to map
      Parameters:
      column - the column index
      type - the QualifiedType of the type
      Returns:
      the materialized T
    • getColumn

      public abstract <T> T getColumn(String column, QualifiedType<T> type)
      Use a qualified column mapper to extract a type from the current ResultSet row.
      Type Parameters:
      T - the type to map
      Parameters:
      column - the column name
      type - the QualifiedType of the type
      Returns:
      the materialized T
    • getColumn

      public <T> T getColumn(int column, GenericType<T> type)
      Use a column mapper to extract a type from the current ResultSet row.
      Type Parameters:
      T - the type to map
      Parameters:
      column - the column index
      type - the GenericType of the type
      Returns:
      the materialized T
    • getColumn

      public Object getColumn(String column, Type type)
      Use a column mapper to extract a type from the current ResultSet row.
      Parameters:
      column - the column name
      type - the Type of the type
      Returns:
      the materialized object
    • getColumn

      public Object getColumn(int column, Type type)
      Use a column mapper to extract a type from the current ResultSet row.
      Parameters:
      column - the column name
      type - the Class of the type
      Returns:
      the materialized object