如何将记录列表与数据库进行比较?我的列表中有超过 1000 条记录,需要根据数据库进行验证。如何验证从列表到数据库的每条记录?从数据库中选择所有数据并存储在列表中,然后必须比较这些值?请指教...
下面的代码列出了要根据数据库进行验证的值。
private void validatepart(HttpServletRequest req, Vector<String> errors) {
Parts Bean = (Parts)req.getAttribute("partslist");
Vector<PartInfo> List = Bean.getPartList();
int sz = partList.size();
for (int i = 0; i < sz; i++) {
PartInfo part = (PartInfo)partList.elementAt(i);
System.out.println(part.getNumber());
System.out.println(part.getName());
}
}
最佳答案
这取决于您所说的比较的含义。如果只有一个字段,则执行查询,例如 select * from parts_table where part_number = ?
。向该查询添加更多字段并不困难。如果没有返回任何内容,您就知道它不存在。
如果您需要比较并确切地知道哪些值不同,那么您可以尝试这样的操作
List<String> compareObjects(PartInfo filePart, PartInfo dbPart) {
List<String> different = new LinkedList<String>();
if (!filePart.getNumber().equals(dbPart.getNumber())) {
different.add("number");
}
//repeat for all your fields
return different;
}
关于java - 如何在Java中比较记录列表与数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20011269/