public class ResultSetExtractor2List<T> extends Object implements ResultSetExtractor<List<T>>
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.
| 构造器和说明 |
|---|
ResultSetExtractor2List(RowExtractor<T> rowMapper)
Create a new RowMapperResultSetExtractor.
|
ResultSetExtractor2List(RowExtractor<T> rowMapper,
int rowsExpected)
Create a new RowMapperResultSetExtractor.
|
public ResultSetExtractor2List(RowExtractor<T> rowMapper)
rowMapper - the RowMapper which creates an object for each rowpublic ResultSetExtractor2List(RowExtractor<T> rowMapper, int rowsExpected)
rowMapper - the RowMapper which creates an object for each rowrowsExpected - the number of expected rows (just used for optimized
collection handling)public List<T> extractData(ResultSet rs) throws SQLException
ResultSetExtractorextractData 在接口中 ResultSetExtractor<List<T>>rs - ResultSet to extract data from. Implementations should not close
this: it will be closed by the calling 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)Copyright © 2023. All rights reserved.