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
 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)