我想将 sql 结果集传递给两个方法。问题是两种方法分别执行 while(rs.next) 函数。然后在一个方法执行其他方法后得到 0 个结果集。如何将结果集传递给两种方法?
public void demo(){
/* Result set got from the corpusSentenceRetrive method */
ResultSet rsNew=corpusSentenceRetrive(wordAll);
method1(rsNew);
method2(rsNew);
}
public void method1(ResultSet rst){
ResultSet rs = rst;
while (rs.next()) {....}
}
public void method2(ResultSet rst){
ResultSet rs = rst;
while (rs.next()) {....}
}
当一个方法执行时,另一个方法接收到 0 个结果集。我想执行两者。我该如何解决?
我尝试存储结果集数组列表两个位置并使用这两个位置结果集。但这也没有解决问题。
最佳答案
消费ResultSet
中的数据在一个方法中并返回 List<Whatever> whateverList
, 然后使用这个 whateverList
在您的方法中使用真实数据。
另一种方法可能是使用 ResultSet.TYPE_SCROLL_SENSITIVE
在创建您的 Statement
时或 PreparedStatement
并在调用第一个方法之后和调用第二个方法之前转到第一行。
IMO 我会使用前者而不是后者。
关于java - 如何将sql结果集传递给两个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27174752/