如何使用JDBCTemplate.queryForMap获取Map数据
如何从中加载数据JDBCTemplate.queryForMap()
并返回Map接口。如何在内部维护查询数据。我尝试加载,但出现以下异常,即
码:-
public List getUserInfoByAlll() { List profilelist=new ArrayList();
Map m=new HashMap();
m=this.jdbctemplate.queryForMap("SELECT userid,username FROM USER");
Set s=m.keySet();
Iterator it=s.iterator();
while(it.hasNext()){
String its=(String)it.next();
Object ob=(Object)m.get(its);
log.info("UserDAOImpl::getUserListSize()"+ob);
}
return profilelist;
}
请帮我
回答:
queryForMap
如果您想获得一行,则比较合适。您选择的是无where
子句,因此您可能想要queryForList
。该错误可能表明queryForMap
需要一行,但您查询的却是很多行。
查看文档。
有一个queryForList
只需要sql的代码;返回类型是
List<Map<String,Object>>
。
因此,一旦获得结果,就可以做自己在做的事情。我会做类似的事情
List results = template.queryForList(sql);for (Map m : results){
m.get('userid');
m.get('username');
}
我将让您填写详细信息,但是在这种情况下,我不会遍历键。我喜欢明确说明自己的期望。
如果您有一个User
对象,并且实际上要加载User实例,则可以使用queryForList
带有sql和类类型的
queryForList(String sql, Class<T> elementType)
(哇,自从我离开Javaland以来,Spring发生了很大变化。)
以上是 如何使用JDBCTemplate.queryForMap获取Map数据 的全部内容, 来源链接: utcz.com/qa/432249.html