为什么我的代码导入最后一行两次?每行从 0 到 x 都可以,然后再添加一次最后一行..
@Override
public void batchUpt2(User_FK users) {
long startTime = System.nanoTime();
jdbcTemplate.update("INSERT INTO INS_RAZNO.BULK_TEST VALUES (?, ?, ?)", new PreparedStatementSetter() {
public void setValues(PreparedStatement ps) throws SQLException {
int x;
int size = users.getUser().size();
for(x = 0; x < size; ++x) {
ps.setInt(1, x + 1);
ps.setLong(2, users.getUser().get(x));
ps.setInt(3, users.getSys());
ps.addBatch();
}ps.executeBatch();
}
});
long endTime = System.nanoTime();
long duration = (endTime - startTime) / 1000000;
System.out.println("-------------"+duration+"-----------------forEach");
}
我在参数中有这个“user”:[1,2,3,4,5,6],但有 7 个插入。结果位于第 1,2,3,4,5,6,6 行
也许最后一个用户在源列表中添加了两次。您可以通过在 setValues() 中打印源列表的大小来检查
我是一名优秀的程序员,十分优秀!