Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.jdbc.core
Interface ResultSetExtractor<T>

All Known Implementing Classes:
  AbstractLobStreamingResultSetExtractor, RowMapperResultSetExtractor, SqlRowSetResultSetExtractor

    public interface ResultSetExtractor<T>

Callback interface used by `JdbcTemplate`'s query methods. Implementations of this interface perform the actual work of extracting results from a `ResultSet`, but don't need to worry about exception handling. `SQLExceptions` will be caught and handled by the calling JdbcTemplate.

This interface is mainly used within the JDBC framework itself. A `RowMapper` is usually a simpler choice for ResultSet processing, mapping one result object per row instead of one result object for the entire ResultSet.

Note: In contrast to a `RowCallbackHandler`, a ResultSetExtractor object is typically stateless and thus reusable, as long as it doesn't access stateful resources (such as output streams when streaming LOB contents) or keep result state within the object.

Since:
  April 24, 2003
Author:
  Rod Johnson, Juergen Hoeller
See Also:
  `JdbcTemplate`, `RowCallbackHandler`, `RowMapper`, `AbstractLobStreamingResultSetExtractor`

Method Summary
`T` | `extractData(ResultSet rs)` Implementations must implement this method to process the entire ResultSet.

Method Detail

### extractData

    T extractData(ResultSet rs)
                  throws SQLException,
                         DataAccessException

  Implementations must implement this method to process the entire ResultSet.

  Parameters:
    `rs` - ResultSet to extract data from. Implementations should not close this: it will be closed by the calling JdbcTemplate.
  Returns:
    an arbitrary result object, or `null` if none (the extractor will typically be stateful in the latter case).
  Throws:
    `SQLException` - if a SQLException is encountered getting column values or navigating (that is, there's no need to catch SQLException)
    `DataAccessException` - in case of custom exceptions

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD