gpt4 book ai didi

java - 使用集合对象构建结果集

转载 作者:行者123 更新时间:2023-12-02 00:55:58 25 4
gpt4 key购买 nike

我在使用 Java 构建结果集时遇到问题。

我正在存储一个从结果集对象中按行组织的集合对象,并将集合对象(存储为 vector/数组列表)放入缓存中并尝试检索相同的集合对象。

这里我需要使用集合对象再次构建结果集。现在我的疑问是以这种方式构建结果集是否可行?

最佳答案

如果您使用集合代替缓存,最好的主意是使用 CachedRowSet而不是结果集。 CachedRowSet是ResultSet的子接口(interface),但是数据已经被缓存了。这比将所有数据写入 ArrayList 简单得多。
CachedRowSets 也可以自行查询。

CachedRowSet rs;
.......................
.......................
Integer id;
String name;

while (rs.next())
{
if (rs.getInt("id") == 13)
{
id = rs.getInt("id");
name = rs.getString("name"));
}
}

因此,只要需要信息,您只需调用 CachedRowSet 即可。它几乎和切片面包一样好。 :)

编辑:
ResultSet 没有 set 方法,但有 Update 方法。使用 Update 方法来重建 ResultSet 的问题是它需要选择要更新的行。一旦 ResultSet 释放自身,所有行都将设置为 null。无法调用空引用。列表的列表模仿 ResultSet 本身,或者更准确地说,数组的数组模仿 ResultSet。

虽然 vector 是线程安全的,但它们会带来巨大的开销。请改用 ArrayList。当每个嵌套列表被创建并放入外部嵌套列表时,以这种方式插入它。

nest.add(Collections.unmodifiableList(nested));

插入所有嵌套列表后,也将嵌套列表作为可修改列表返回。这将为您提供一个线程安全的集合,而无需 vector 的开销。

关于java - 使用集合对象构建结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/502318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com