有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

sql安全在Oracle中将DB数据作为Java字符串进行比较?

我正在将两个Oracle数据库中的行数据拉入两个字符串列表。我想通过遍历这些列表并运行basic来比较这些行。等于()比较。遍历每个列表并通过字符串比较每个元素是否安全/实用

例如:

List<String> resultSet1 = <result set of rows from DB1 as string list>
List<String> resultSet2 = <result set of rows from DB2 as string list>

//假设结果集大小相同,并且指向具有相同主键/复合键的行

for(int i = 0; i < resultSet1.size(); i++)
{
  if(resultSet1.get(i).equals(resultSet2.get(i))){
   <DO SOMETHING>
  }
}

共 (1) 个答案

  1. # 1 楼答案

    正如您的假设所述,结果集的大小必须相同。此外,它们必须以相同的顺序排序,并且包含相同的键集。也就是说,如果记录集1有{1,2,3,4},那么记录集2必须有{1,2,3,4}。{1,2,4,3}不会剪掉它,{1,2,3,5}也不会

    除其他外,这意味着您的列表必须使用一个实际的实现类来保持顺序(或允许您控制顺序)

    就我个人而言,我会将数据加入数据库。如果这是不可能的(例如,有两个独立的数据库,并且其中没有良好的分布式查询功能),那么我可能会使用HashMaps而不是以hashmap的键作为数据键的列表。这样,您就可以遍历resultSet1的键集,并使用该键从resultSet2中查找相应的值。这样会更清晰,更不容易出错