mysql批量插入:获取插入行数

时间:2012-05-03 08:49:39

标签: java mysql jdbc batch-insert

我正在使用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();

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

我认为我的代码片段是由DB中的行数(?)与应该插入的行数不匹配,所以我认为我的y插入可能有问题。< / p>

2 个答案:

答案 0 :(得分:2)

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

来自JavaDoc:

  

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

答案 1 :(得分:-2)

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