|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.jdbc.core.RowMapperResultSetExtractor
public class RowMapperResultSetExtractor
Adapter implementation of the ResultSetExtractor interface that delegates to a RowMapper which is supposed to create an object for each row. Each object is added to the results List of this ResultSetExtractor.
Useful for the typical case of one object per row in the database table. The number of entries in the results list will match the number of rows.
Note that a RowMapper object is typically stateless and thus reusable; just the RowMapperResultSetExtractor adapter is stateful.
A usage example with JdbcTemplate:
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); // reusable object RowMapper rowMapper = new UserRowMapper(); // reusable object List allUsers = jdbcTemplate.query( "select * from user", new RowMapperResultSetExtractor(rowMapper, 10)); List userResults = jdbcTemplate.query( "select * from user where id=?", new Object[] {id}, new RowMapperResultSetExtractor(rowMapper, 1)); User user = (User) DataAccessUtils.uniqueResult(userResults);
Alternatively, consider subclassing MappingSqlQuery from the jdbc.object
package: Instead of working with separate JdbcTemplate and RowMapper objects,
you can have executable query objects (containing row-mapping logic) there.
RowMapper
,
DataAccessUtils.uniqueResult(java.util.Collection)
,
MappingSqlQuery
Constructor Summary | |
---|---|
RowMapperResultSetExtractor(RowMapper rowMapper)
Create a new RowMapperResultSetExtractor. |
|
RowMapperResultSetExtractor(RowMapper rowMapper,
int rowsExpected)
Create a new RowMapperResultSetExtractor. |
Method Summary | |
---|---|
Object |
extractData(ResultSet rs)
Implementations must implement this method to process all rows in the ResultSet. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RowMapperResultSetExtractor(RowMapper rowMapper)
rowMapper
- the RowMapper which creates an object for each rowpublic RowMapperResultSetExtractor(RowMapper rowMapper, int rowsExpected)
rowMapper
- the RowMapper which creates an object for each rowrowsExpected
- the number of expected rows
(just used for optimized collection handling)Method Detail |
---|
public Object extractData(ResultSet rs) throws SQLException
ResultSetExtractor
extractData
in interface ResultSetExtractor
rs
- ResultSet to extract data from. Implementations should
not close this: it will be closed by the JdbcTemplate.
null
if none
(the extractor will typically be stateful in the latter case).
SQLException
- if a SQLException is encountered getting column
values or navigating (that is, there's no need to catch SQLException)
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |