All Known Implementing Classes:
BeanPropertyRowMapper , ColumnMapRowMapper , DataClassRowMapper , MappingSqlQueryWithParameters.RowMapperImpl , 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:
  • JdbcTemplate
  • RowCallbackHandler
  • ResultSetExtractor
  • MappingSqlQuery
  • 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)