在下面的代码中,我正在获取文档地图,我想向文档对象添加新的键和值。
public List<Map<String, Object>> getDocuments() {
String sql = "Select * from docs";
List<Map<String, Object>> Documents = jdbcTemplateObject.queryForList(sql);
return Documents;
}
输出:
[{Id=DOC10,Name=Test Document,Date=10-12-17}],
[{Id=DOC11,Name=Sample Document,Date=15-12-17}]
如何向此
List<Map>
对象添加新的 k,v 以使输出看起来像这样?
[{Id=DOC10,Name=Test Document,Date=10-12-17,Access=true}],
[{Id=DOC11,Name=Sample Document,Date=15-12-17,Access=true}]
您可以迭代列表并向每个映射添加新的键值对:
for(Map<String, Object> map : Documents){
map.put("Access", true);
}
另一个解决方案,取决于
jdbcTemplateObject.queryForList(sql);
所做的事情是在查询中添加值。
select *, 1 as Access from docs
这似乎会迭代每一列以将其插入到
Map
中。
注意:查询不一定独立于 DBMS! Boolean 并不是真正的 SQL 类型
迭代 List> Documents 并获取 Map 对象并将键值对放入该 Map 对象中 e,g
List<Map<String, Object>> Documents = jdbcTemplateObject.queryForList(sql);
for (Map<String, Object> map : Documents) {
map.put(key, value);
}