| 知乎专栏 |
HashMap<String,String> member = jdbcTemplate.query("select name,age from member where id=1", (ResultSet rs) -> {
HashMap<String,String> results = new HashMap<>();
while (rs.next()) {
results.put(rs.getString("name"), rs.getString("age"));
}
return results;
});
ResultSetExtractor
HashMap<String,String> member = jdbcTemplate.query("select name,age from member where id=1", new ResultSetExtractor<Map>(){
@Override
public Map extractData(ResultSet rs) throws SQLException,DataAccessException {
HashMap<String,String> mapResult= new HashMap<String,String>();
while(rs.next()){
mapResult.put(rs.getString("name"),rs.getString("age"));
}
return mapResult;
}
});
List<Actor> actors = this.jdbcTemplate.query("select first_name, last_name from actor",new RowMapper<Actor>() {
public Actor mapRow(ResultSet rs, int rowNum) throws SQLException {
Actor actor = new Actor();
actor.setFirstName(rs.getString("first_name"));
actor.setLastName(rs.getString("last_name"));
return actor;
}
});
public List<Actor> findAllActors() {
return this.jdbcTemplate.query( "select first_name, last_name from actor", new ActorMapper());
}
private static final class ActorMapper implements RowMapper<Actor> {
public Actor mapRow(ResultSet rs, int rowNum) throws SQLException {
Actor actor = new Actor();
actor.setFirstName(rs.getString("first_name"));
actor.setLastName(rs.getString("last_name"));
return actor;
}
}
返回第一条数据,事实上只有一条。
public Token getTokenBySymbol(String symbol) {
List<Token> response = jdbcTemplate.query("select * from token where symbol ='" + symbol + "'", new RowMapper<Token>() {
public Token mapRow(ResultSet result, int rowNum) throws SQLException {
Token Token = new Token();
Token.setContractAddress(result.getString(""));
Token.setName(result.getString("name"));
Token.setSymbol(result.getString("symbol"));
Token.setDecimals(result.getInt("decimals"));
return Token;
}
});
if (response.size() == 1) {
return response.get(0);
}
return null;
}