Interface RowMapper<T>

Type Parameters:
T - the result type
All Known Implementing Classes:
BeanPropertyRowMapper, ColumnMapRowMapper, DataClassRowMapper, MappingSqlQueryWithParameters.RowMapperImpl, SimplePropertyRowMapper, SingleColumnRowMapper, UpdatableSqlQuery.RowMapperImpl
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface RowMapper<T>
An interface used by JdbcTemplate for mapping rows of a ResultSet on a per-row basis. Implementations of this interface perform the actual work of mapping each row to a result object but don't need to worry about exception handling. SQLExceptions will be caught and handled by the calling JdbcTemplate.

Typically used either for JdbcTemplate's query methods or for out parameters of stored procedures. RowMapper objects are typically stateless and thus reusable; they are an ideal choice for implementing row-mapping logic in a single place.

Alternatively, consider subclassing MappingSqlQuery from the jdbc.object package: instead of working with separate JdbcTemplate and RowMapper objects, you can build executable query objects (containing row-mapping logic) in that style.

Author:
Thomas Risberg, Juergen Hoeller
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    mapRow(ResultSet rs, int rowNum)
    Implementations must implement this method to map each row of data in the ResultSet.
  • Method Details

    • mapRow

      @Nullable T mapRow(ResultSet rs, int rowNum) throws SQLException
      Implementations must implement this method to map each row of data in the ResultSet. This method should not call next() on the ResultSet; it is only supposed to map values of the current row.
      Parameters:
      rs - the ResultSet to map (pre-initialized for the current row)
      rowNum - the number of the current row
      Returns:
      the result object for the current row (may be null)
      Throws:
      SQLException - if an SQLException is encountered while getting column values (that is, there's no need to catch SQLException)