我想用Java一次性将多行插入到MySQL表中。行数是动态的。在过去,我在做......Java:使用PreparedStatement将多行插入MySQL
for (String element : array) {
myStatement.setString(1, element[0]);
myStatement.setString(2, element[1]);
myStatement.executeUpdate();
}
我想优化此使用MySQL支持的语法:
INSERT INTO table (col1, col2) VALUES ('val1', 'val2'), ('val1', 'val2')[, ...]
但有PreparedStatement
,我不知道有什么方法要做到这一点,因为我事先不知道有多少元素array
将包含。如果PreparedStatement
不可能,我该怎么做(并且仍然在数组中的值)?
完美,谢谢! – 2010-12-04 20:17:42
如果你把它们放在交易中,你的插入会更快......换句话说就是用`connection.setAutoCommit(false);`和`connection.commit();`http://download.oracle.com/javase/tutorial/包装jdbc/basics/transactions.html – 2010-12-04 20:39:01
感谢提示,约书亚! – 2010-12-04 20:41:23