当前位置: 首页 > 知识库问答 >
问题:

Spring JDBC查询添加到映射

张浩阔
2023-03-14

我使用Spring JDBC框架(如这里所示)从数据库中获取两列。我使用了“映射器”来实现“RowMapper”类,并执行如下查询:

List<Entity> rows = template.query(sql, new EntityMapper());

这是我的映射器类:

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;
}

而不是将查询结果存储到<code>中

 public List<String> getID() {
    if (accountsByID.isEmpty()) {
        return Collections.EMPTY_LIST;
    } else {
        return new ArrayList<String>(accountsByID.keySet());
    }
}

如何在spring中将我的查询行存储到一个映射中,并将< code>ID设置为key,值为< code>account。

共有1个答案

郑茂勋
2023-03-14

queryForList返回LinkedHashMap对象的列表。

为了获得Map,我们需要像下面这样转换queryForList方法的结果

       List list = template.queryForList(...);
        for (Object o : list) {
           Map m = (Map) o;
           <your code here which uses Map objects>
        }

有关方法的更多信息,请点击此处

 类似资料:
  • 问题内容: 我正在用SSRS编写一份报告。该数据集填充有MS SQL Server的SQL查询。它使用Union All查询几个相似的表。问题是有一些信息丢失。不同的表适用于不同的工作站点,但是这些表中的任何列都没有站点名称。标识站点的唯一方法是通过表名。在“全部合并”的结果的合并列中,无法分辨出哪些行来自哪个站点。 有没有一种方法可以更改我的查询以在结果中添加一列,该列将具有与每一行相关联的工作

  • 我正在解决一个使用QueryDSL构造查询语句的java应用程序的性能问题。在与DBA合作后,有人建议我在查询中添加以下语句: 当前,我们正在执行查询,如下所示: 提前道谢。

  • 问题内容: 我在MS Access中存储了一个查询,该查询正在从Access表中进行标准选择。我想在末尾添加一个摘要行,以显示上述某些数据的总和。 我已经看过DSum(),但是它不合适,因为我必须在每行而不是最后一行中包含运行总计。 另外,请注意,我不想对a列中的数据求和-我想为a列的摘要获取一个空字段。 例子: 有谁知道如何在Access中解决此问题?一种替代方法是定义第二个查询,该查询将进行聚

  • 问题内容: 我想添加表的两列值并按降序对其进行排序。例如: 考虑到上表,我想要一个SQL查询,它给我的结果如下: 是否有任何SQL查询来做到这一点? 问题答案: 没有用于这种水平聚合的内置函数,您可以执行以下操作:

  • 2013年,根据@Timo Westkämper(参见QueryDSL-Add subquery into FROM语句),可以在FROM子句中包含子查询。现在看来这已经不可能了,因为JPQL规范不允许这样做: (https://docs.oracle.com/cd/e12839_01/apirefs.1111/e13946/ejb3_langref.html#ejb3_langref_subqu

  • 问题内容: 我想通过使用Postgresql的“ NULLS LAST”选项对模型进行排序。怎么做? 我尝试了类似的东西 但是我明白了 “无法将关键字’NULLS LAST’解析为字段” 问题答案: 此功能已添加到Django 1.11中。 https://docs.djangoproject.com/en/dev/releases/1.11/