org.springframework.jdbc.core

## Interface RowMapper<T>

All Known Subinterfaces:
  ParameterizedRowMapper<T>

All Known Implementing Classes:
  BeanPropertyRowMapper, ColumnMapRowMapper, MappingSqlQueryWithParameters.RowMapperImpl, ParameterizedBeanPropertyRowMapper, ParameterizedSingleColumnRowMapper, SingleColumnRowMapper, UpdatableSqlQuery.RowMapperImpl

    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`

### Method Summary

Methods
`T` `mapRow(ResultSet rs, int rowNum)` Implementations must implement this method to map each row of data in the ResultSet.

### Method Detail

#### mapRow

    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
Throws:
  `SQLException` - if a SQLException is encountered getting column values (that is, there's no need to catch SQLException)