java - 如何在Java中比较记录列表与数据库?

标签 java

如何将记录列表与数据库进行比较?我的列表中有超过 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/

相关文章:

启动 FFmpegFrameGrabber 中的 java.lang.UnsatisfiedLinkError : org. bytedeco.javacpp.avutil

java - ElasticSearch:Java 高级 API - 具有动态 ID 的索引文档

java - 获取意外元素 '{urn:infinispan:config:7.0}infinispan' 遇到

java - 查找数组中的字母

java - 在包含私有(private)集合的类上使用迭代器时出现错误 "Can only iterate over an array or an instance of java.lang.Iterable"

java - 对遗留代码使用泛型

java - Hibernate:检索未连接的行

java - 你如何跟进 soap in eclipse

java - 如何正确等待下一秒刻度

Java VisualVM 无​​法连接到 Jboss