类 RowMapperResultSetExtractor<T>
- java.lang.Object
- org.springframework.jdbc.core.RowMapperResultSetExtractor<T>
- 类型参数:
T
- the result element type
- 所有已实现的接口:
ResultSetExtractor<List<T>>
public class RowMapperResultSetExtractor<T> extends Object implements ResultSetExtractor<List<T>>
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 = (List) jdbcTemplate.query( "select * from user", new RowMapperResultSetExtractor(rowMapper, 10)); User user = (User) jdbcTemplate.queryForObject( "select * from user where id=?", new Object[] {id}, new RowMapperResultSetExtractor(rowMapper, 1));
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.- 从以下版本开始:
- 1.0.2
- 作者:
- Juergen Hoeller
- 另请参阅:
RowMapper
,JdbcTemplate
,MappingSqlQuery
构造器概要
构造器 构造器 说明 RowMapperResultSetExtractor(RowMapper<T> rowMapper)
Create a new RowMapperResultSetExtractor.RowMapperResultSetExtractor(RowMapper<T> rowMapper, int rowsExpected)
Create a new RowMapperResultSetExtractor.
构造器详细资料
RowMapperResultSetExtractor
public RowMapperResultSetExtractor(RowMapper<T> rowMapper)
Create a new RowMapperResultSetExtractor.- 参数:
rowMapper
- the RowMapper which creates an object for each row
RowMapperResultSetExtractor
public RowMapperResultSetExtractor(RowMapper<T> rowMapper, int rowsExpected)
Create a new RowMapperResultSetExtractor.- 参数:
rowMapper
- the RowMapper which creates an object for each rowrowsExpected
- the number of expected rows (just used for optimized collection handling)
方法详细资料
extractData
public List<T> extractData(ResultSet rs) throws SQLException
从接口复制的说明:ResultSetExtractor
Implementations must implement this method to process the entire ResultSet.- 指定者:
extractData
在接口中ResultSetExtractor<T>
- 参数:
rs
- the ResultSet to extract data from. Implementations should not close this: it will be closed by the calling JdbcTemplate.- 返回:
- an arbitrary result object, or
null
if none (the extractor will typically be stateful in the latter case). - 抛出:
SQLException
- if an SQLException is encountered getting column values or navigating (that is, there's no need to catch SQLException)