我知道这已经很老了,但是如果你正在寻找地图,有一种更简单的方法可以做到这一点。
只需实现 ResultSetExtractor 接口即可定义要返回的类型。下面是如何使用它的示例。您将手动映射它,但对于简单的地图,它应该很简单。
jdbcTemplate.query("select string1,string2 from table where x=1", new ResultSetExtractor<Map>(){
@Override
public Map extractData(ResultSet rs) throws SQLException,DataAccessException {
HashMap<String,String> mapRet= new HashMap<String,String>();
while(rs.next()){
mapRet.put(rs.getString("string1"),rs.getString("string2"));
}
return mapRet;
}
});
这将为您提供一个返回类型的 Map,其中包含多行(无论您的查询返回了多少行),而不是 Map 列表。您可以在此处查看 ResultSetExtractor 文档:http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/jdbc/core/ResultSetExtractor.html