0

我正在使用 java 批量插入到 mysql 表中:

cnx = lconnect.openConnection();
mStatement = cnx.createStatement();
boolean firstTime = true;
PreparedStatement preparedStatement = null;

preparedStatement = cnx.prepareStatement(strQuery);
preparedStatement.setString(param1);
preparedStatement.setString(param2);
....
preparedStatement.addBatch();
preparedStatement.setString(param1);
preparedStatement.setString(param2);
preparedStatement.addBatch();
preparedStatement.setString(param1);
preparedStatement.setString(param2);

preparedStatement.execute();

有没有办法真正知道插入的行数?

我认为我的一段代码它正在工作(?)数据库中的行数与应该插入的行数不匹配,所以我想我可能对 y 插入有问题。

4

2 回答 2

2

你必须打电话executeBatch()。返回的数组包含您想要的信息。

来自 JavaDoc:

返回: 更新计数数组,其中包含批处理中每个命令的一个元素。数组的元素根据命令添加到批处理的顺序进行排序。

于 2012-05-03T08:53:50.983 回答
-2

PreparedStatement为每个批次记录使用对象 :)

于 2012-05-03T08:51:49.113 回答