知乎专栏 |
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; }