当前位置: 首页 > 面试题库 >

如何使用JDBCTemplate.queryForMap获取Map数据

司信厚
2023-03-14
问题内容

如何从中加载数据JDBCTemplate.queryForMap()并返回Map接口。如何在内部维护查询数据。我尝试加载,但出现以下异常,即
org.springframework.dao.IncorrectResultSizeDataAccessException:错误的结果

码:-

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发生了很大变化。)



 类似资料:
  • 如何将键字符串格式化为,只有周、月和年作为流的输出? 数据集: 这可能不是初始化和格式化的正确方式,因此请注意。这只是地图中实际数据的一小部分。 预期产出: 以下是打印地图时的预期输出:[年/月/年的周数=分组周值中的最高值]

  • 我从上面一行中获取所有产品名称,但我只想使用map从奇数索引中获取名称。有可能吗?

  • 我正在创建一个fetchBill函数。分配https://randomapi.com/api/006b08a801d82d0c9824dcfdfdfa3b3c到一个api变量。它使用浏览器的fetch函数向api发出HTTP请求。它在一个函数中使用箭头函数。然后调用fetch函数,并在将其转换为JSON后返回响应。使用另一个。然后调用第一个函数,该函数将JSON数据传递给displayCartTo

  • 问题内容: Javascript没有提供执行此操作的核心方法,那么该怎么做呢? 问题答案: 因此,您可以使用:

  • 问题内容: 我试图了解mysqli扩展名,并做了谷歌,但除了php.net这是非常有用的很少信息。 现在毕竟这是我想要实现的MySQL扩展,如下所示: 用mysqli我怎么能做到这一点?我肯定我错过了很多事情。请以示例的方式帮助我,以实现我的目标。 问题答案: 使用mysqli,您可以通过以下方式进行操作(假设mysqli对象已创建- 您也可以使用过程方法,只是略有不同):

  • 我希望在JMETER中实现以下功能 JMeter加载带有id号的CSV文件 Jmeter中的每个用户/线程选择一个id号,并将其添加到他们的HTTP请求中,例如HTTP:www.testsite.com/test.php?id=x 重复步骤2,选择文件中的下一个id号。 这样,我就可以测试我的servlet是否使用连接池执行多个线程。 谢谢