gpt4 book ai didi

java - JBDC 批量插入未正确循环

转载 作者:行者123 更新时间:2023-12-01 13:55:29 26 4
gpt4 key购买 nike

我目前正在尝试将字符串数组中的值插入到数据库中的三列中例如将 1 列出到第 1 列,依此类推。但是在循环中使用批量插入时遇到问题。这是我当前的代码,据我所知,唯一的方法是循环遍历每个字符串数组插入值,除非有更好的方法。

PreparedStatement stmt = conn.prepareStatement("INSERT INTO Scores (Home, Score, Away) VALUES (?, ?, ?)");

String[] List1str = new String[List1.size()];
List1str = List1.toArray(List1str);
String[] List2str = new String[List2.size()];
List2str = List2.toArray(List2str);
String[] List3str = new String[List3.size()];
List3str = List3.toArray(List3str);

for (String s1 : List1str) {
stmt.setString(1, s1);
for (String s2 : List2str) {
stmt.setString(2, s2);
for (String s3 : List3str) {
stmt.setString(3, s3);
stmt.addBatch();
}
}
}
stmt.executeBatch();

最佳答案

您应该在执行 addBatch() 之前绑定(bind)所有字符串。当前您的 addBatch() 在最后一个嵌套循环中。

如果我们假设所有列表都具有相同的大小,则您的代码应如下所示:

for (int i=0; i<List1.size(); i++) {
stmt.setString(1, List1[i]);
stmt.setString(2, List2[i]);
stmt.setString(3, List3[i]);
stmt.addBatch();
}
stmt.executeBatch();

关于java - JBDC 批量插入未正确循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19657984/

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