Efficient way to Handle ResultSet in Java(在 Java 中处理 ResultSet 的有效方法)
问题描述
我在 Java 中使用 ResultSet,但不确定如何正确关闭它.我正在考虑使用 ResultSet 来构造一个 HashMap,然后在此之后关闭 ResultSet.这种 HashMap 技术是有效的,还是有更有效的方法来处理这种情况?我需要键和值,所以使用 HashMap 似乎是一个合乎逻辑的选择.
I'm using a ResultSet in Java, and am not sure how to properly close it. I'm considering using the ResultSet to construct a HashMap and then closing the ResultSet after that. Is this HashMap technique efficient, or are there more efficient ways of handling this situation? I need both keys and values, so using a HashMap seemed like a logical choice.
如果使用 HashMap 是最有效的方法,我该如何在我的代码中构造和使用 HashMap?
If using a HashMap is the most efficient method, how do I construct and use the HashMap in my code?
这是我尝试过的:
public HashMap resultSetToHashMap(ResultSet rs) throws SQLException {
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
HashMap row = new HashMap();
while (rs.next()) {
for (int i = 1; i <= columns; i++) {
row.put(md.getColumnName(i), rs.getObject(i));
}
}
return row;
}
推荐答案
- 遍历 ResultSet
- 为每一行创建一个新对象,以存储您需要的字段
- 将此新对象添加到 ArrayList 或 Hashmap 或任何您喜欢的对象
- 关闭 ResultSet、Statement 和 DB 连接
完成
既然您已经发布了代码,我已经对其进行了一些更改.
now that you have posted code, I have made a few changes to it.
public List resultSetToArrayList(ResultSet rs) throws SQLException{
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
ArrayList list = new ArrayList(50);
while (rs.next()){
HashMap row = new HashMap(columns);
for(int i=1; i<=columns; ++i){
row.put(md.getColumnName(i),rs.getObject(i));
}
list.add(row);
}
return list;
}
这篇关于在 Java 中处理 ResultSet 的有效方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Java 中处理 ResultSet 的有效方法
基础教程推荐
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 降序排序:Java Map 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01