如何使用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

回到顶部