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

根据哈希映射中的值从表中检索数据

督坚白
2023-03-14

我有一个带有键和值的哈希映射(整数数组)哈希映射

我可以通过两种方式实现这一点:一种是从表中获取所有数据,并通过hashmap进行迭代;另一种是通过hashmap迭代,并在每次迭代中应用where子句,从而对数据库进行n次调用

除了上述方法之外,还有其他有效的方法吗?


共有1个答案

冯星剑
2023-03-14

使用PreparedStatementWHERE子句中设置具有IN条件的查询。这段代码应该能让您大致了解:

    values = new int[]{1,2,3,4,5};
    String query =
        "SELECT film_id, title\n"
        + "FROM film\n"
        + "WHERE film_Id IN (";
    for (int i = 0; i < values.length; ++i) {
        if (i > 0) {
            query += ",";
        }
        query += "?";
    }
    query += ")";

    try {
        Connection conn = DriverManager.getConnection("db-url", "user", "pwd");
        PreparedStatement stmt = conn.prepareStatement(query);
        for (int i = 0; i < values.length; ++i)
            stmt.setInt(i+1, values[i]);
        ResultSet rs = stmt.executeQuery();
        while (rs.next()){
            // process results
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }
 类似资料:
  • Hashmaps通常使用桶的内部数组(表)来实现。在通过键访问hashmap时,我们使用键类型特定(逻辑类型特定)的hash函数获得键的hashcode。然后我们需要将hashcode映射到实际的内部桶表索引。 有时,内部表可能会收缩和扩展,这取决于hashmap填充率。那么可能是散列码- 例如,我们的哈希函数返回32位无符号整数值 时刻A:内表容量为10000 时刻B:内工作台容量为100000

  • 我有一个包含许多重复条目的文件,如下所示: 那里的每个实体也与一个ID相关联,也许是一个,也许是更多, 我想单独获取每个实体,但由于消除歧义,对于类似于,每个实体都可以与多个ID关联,因此在下,可能会有一个用于河流的ID,另一个用于海湾、城镇等。 我想最好的方法是使用哈希映射,其中名称是关键,对吗? 有没有办法输出JSON格式的hashmap或其他高度可移动的数据表示?

  • 我创造了一个这样的形式 如果它没有验证,我将重新显示填充了数据的表单。填充问题数据并不难 但是,我无法从答案模型(具有内容和链接字段)的会话哈希中获取嵌套值。这不起作用。 我觉得是因为hash对象中的0,1,2迭代。例如,这是hash对象的一个片段(完整显示在下面) 但我不知道在构建问题答案时如何表达这一点 当我尝试构建时,在尝试从哈希对象中提取数据时,我不会表示迭代。你能解释一下我如何修改这一行

  • 问题内容: 我有需要检查的情况。我有一个名为: 因为该键本身不存在,所以抛出。如果我检查 由于引发了另一个。如何测试地图中的键不存在?我知道该方法应该处理它,但这不在我的控制之下。] 问题答案: 即使现在我也因为.get引发异常而得到nullpoiner 如果只有一行,并且确定它抛出异常,则唯一的可能性可能是null。

  • 输入是一个哈希映射,比如 我想写一个方法,返回类型A的列表,其中有键,值属性与字符串类型,和键值从hashmap。 如何让它成为现实?

  • 有人能帮我找到一份没有重复的正确清单吗。 我有一个哈希映射列表,比如“HashMap map”,它的大小是4。键值对类似于以下内容 我想创建另一个Hashmap列表,其中包含“uri\u path”的单个条目以及相应计算的平均值和计数。这就是我正在尝试的。理想情况下,新列表的大小应小于原始列表的大小。有人能帮我理解是不是出了问题