我正在插入多个学生列表作为下面给出的代码
int count = 0;
for (Student st :StudentList) {
ps.setString(1, l.getId());
ps.setString(2, l.getName());
ps.setString(3, l.getRollNo());
ps.addBatch();
if (++count % 100 == 0) {
ps.executeBatch();
}
}
ps.executeBatch();
如何知道所有记录都插入成功了。如果不是,则不插入列表中的哪条记录。
最佳答案
executeBatch()
方法返回更新计数数组 ( int[]
),其中包含批处理中每个命令的一个元素。所以,array[i] <= 0
表示第 i 个命令对数据库没有影响。如果命令 i 是一个 INSERT 查询,那么这意味着它没有被插入。
关于this数组内容的更多细节,可以查看executeBatch的Javadoc .
关于java - 批量插入如何知道所有记录都插入了哪条记录没有插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25177556/