如何在Java中组合两个ResultSet?

Yat*_*oel 6 java jdbc

我有两个结果集(rs1rs2)具有相同的字段.现在,如何将这两个结果集合并为一个,以便重复的行显示一次.

Ada*_*ski 12

如果两个ResultSets来自同一个数据库,那么为什么不在检索过程中使用它们来组合它们union; 例如

select A, B
from C
union
select A, B
from D
Run Code Online (Sandbox Code Playgroud)

但是,如果这不是一个选项,那么我建议定义一个Row类来表示从您提取的行ResultSet和实现equals/ hashCode以允许Row比较相等.然后简单地将每个添加RowSet(例如HashSet)以便删除重复项.

  • UNION删除重复项,强制排序.UNION ALL在功能上连接结果集.如果可以接受重复,或者您知道两个结果集没有重叠,请使用UNION ALL. (2认同)