我在Java中使用ResultSet,但不确定如何正确关闭它。我正在考虑使用ResultSet构造一个HashMap,然后在那之后关闭ResultSet。这种HashMap技术是有效的还是有更有效的方法来处理这种情况?我需要键和值,因此使用HashMap似乎是一个合理的选择。
如果使用HashMap是最有效的方法,如何在代码中构造和使用HashMap?
这是我尝试过的:
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;
}
完成了
编辑:现在您已经发布了代码,我对其进行了一些更改。
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应用程序,我正在使用普通的JDBC执行查询。该数据库是Oracle。我已经启用了批处理,因此它节省了我执行查询所需的网络等待时间。但是查询作为独立的INSERT顺序执行: 我想知道以下形式的INSERT是否可能更有效: 即将多个INSERT折叠成一个。 还有其他使批处理INSERT更快的技巧吗? 问题答案: 这是前两个答案的混合
问题内容: 以下代码使用和将转换为JSON字符串。 有没有更快的方法? 有没有一种方法可以使用更少的内存? 问题答案: 由于JIT编译器只是分支和基本测试,因此它可能会使其变得非常快。您可以通过对回调进行HashMap查找来使其更加优雅,但我怀疑这样做会更快。至于记忆,这是非常苗条的。 我以某种方式怀疑此代码实际上是内存或性能的关键瓶颈。您有真正的理由尝试对其进行优化吗?
本文向大家介绍Java有效处理异常的三个原则,包括了Java有效处理异常的三个原则的使用技巧和注意事项,需要的朋友参考一下 异常之所以是一种强大的调试手段,在于其回答了以下三个问题: 1、什么出了错? 2、在哪出的错? 3、为什么出错? 在有效使用异常的情况下,异常类型回答了“什么”被抛出,异常堆栈跟踪回答了“在哪“抛出,异常信息回答了“为什么“会抛出,如果你的异常没
我想知道使用retfit/rxjava进行令牌身份验证。我对代码进行了重构,以使用DataManager,这样活动在演示器中唤起一个方法,演示器订阅DataManager.getTrips,然后它负责对API的调用。
我怎么才能修好这个?
请,在Post Java 8中,有没有一种优雅而有效的方法来执行以下操作,即1.在数组列表中循环2.读取对象3.使用数组列表项中包含的值调用潜在不同对象的不同方法 我确实看了流,开关语句,但它比我的如果其他的要混乱得多。 任何帮助都将不胜感激。只是寻求持续的改进