我正在使用Spring JDBC Framework(like here)从数据库中获取两列。我使用'Mapper'来实现'RowMapper'类,我执行这样的查询:
List<Entity> rows = template.query(sql, new EntityMapper());
这是我的Mapper类:
public class EntityMapper implements RowMapper<Entity> {
@Override
public Entity mapRow(ResultSet rs, int rowNum) throws SQLException {
Entity entity = new Entity();
entity.setID(rs.getString("ID"));
entity.setAccount(rs.getString("ACCOUNT"));
return entity;
}
我想将它们存储到我在同一个类中创建的<List>
- Map
,而不是将查询结果存储到accountsById
中。我希望将进入Map的ID作为我的密钥,以便我可以使用getID()
public List<String> getID() {
if (accountsByID.isEmpty()) {
return Collections.EMPTY_LIST;
} else {
return new ArrayList<String>(accountsByID.keySet());
}
}
如何在春季将查询行存储到地图中并将ID
设置为键,值为account
。
答案 0 :(得分:0)
queryForList
返回LinkedHashMap对象列表。
为了获得地图我们需要投射queryForList
方法的结果,如下所示
List list = template.queryForList(...);
for (Object o : list) {
Map m = (Map) o;
<your code here which uses Map objects>
}
有关方法 here
的更多信息