Package org.springframework.jdbc.core

# 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:
  - `JdbcTemplate`
  - `RowCallbackHandler`
  - `ResultSetExtractor`
  - `MappingSqlQuery`

## Method Summary

Modifier and Type
Method
Description
`T`
`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)