gpt4 book ai didi

java - 发现批量更新失败的记录

转载 作者:行者123 更新时间:2023-12-02 03:57:44 26 4
gpt4 key购买 nike

我正在使用jdbc在java中批量更新1000条记录。其中 800 条记录更新成功,200 条记录更新失败。所以我想从批量更新查询中检查所有 200 条记录均未能更新,我将使用批量插入将它们插入数据库中。我怎样才能做到这一点?

最佳答案

Statement 中的

executeBath() 方法返回一个整数数组(每个执行的命令一个整数)。每个整数代表更新计数。如果1或更大,则更新成功;如果为 0,则没有使用相应命令更新记录。

示例:

List<YourClass> objectsToUpdate = getObjectsToUpdate();

for (YourClass object : objectsToUpdate) {
String updateCommand = generateUpdateCommand(object);
statement.addBatch(updateCommand);
}
int[] results = statement.executeBatch();

List<YourClass> notUpdated = new ArrayList<YourObject>();

for (int i = 0; i < results.length; i++) {
if (results[i] == 0) {
notUpdated.add(objectsToUpdate.get(i));
}
}

这只是为了演示算法。考虑使用 PreparedStatement 而不是 Statement

关于java - 发现批量更新失败的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35268468/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com