gpt4 book ai didi

java - JDBC 中的executebatch() 只插入很少的记录

转载 作者:行者123 更新时间:2023-11-29 18:03:43 33 4
gpt4 key购买 nike

我在 JDBC 中遇到了批处理问题,我向批处理添加了一条准备好的语句,但是当我执行批处理时,只插入了很少的记录,我搜索了但没有弄清楚,这是代码:我进入了另一个准备好的语句的结果集,这是一个问题吗?谢谢!

 //autocommitFALSE (...)
while(rs.next()){



int idrobot = rs.getInt("idRobot");
if (idrobot != idrn) {
String fullstatenew2 = "INSERT INTO `fullstate`(`idR`, `idC`, `s1`, `s2`, `s3`, `s4`, `s5`, `s6`, `s7`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
java.sql.PreparedStatement preparedStmt9 = conn.prepareStatement(fullstatenew2);

preparedStmt9.setInt(1, robot);
preparedStmt9.setString(2, cluster);
preparedStmt9.setInt(3, s1);
preparedStmt9.setInt(4, s2);
preparedStmt9.setInt(5, s3);
preparedStmt9.setInt(6, s4);
preparedStmt9.setInt(7, s5);
preparedStmt9.setInt(8, s6);
preparedStmt9.setInt(9, s7);

preparedStmt9.addBatch();

if(i>10000) //it's really not like this, but this is the sense {
preparedStmt9.executeBatch();
System.out.println("insert");
}
conn.commit();

最佳答案

添加批处理应该在循环中,执行批处理应该在循环之后。

关于java - JDBC 中的executebatch() 只插入很少的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48102792/

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