我想使用preparedStatement Batch,但我遇到了问题。Java MySQL preparedStatement Batch
下面的代码不会给我错误,但它只在表格中插入最后一个键,我不知道为什么。
这将是肯定是一个非常愚蠢的错误,但是这是我第一次使用addBatch()方法..提前
Class.forName("com.mysql.jdbc.Driver");
this.connect = DriverManager.getConnection("jdbc:mysql://localhost/" + this.database + "?user=" + this.user + "&password=" + this.password);
String s;
for (String key : this.map.keySet())
{
s = ("insert into " + this.database + ".user (nickname) values (?)");
this.preparedStatement = this.connect.prepareStatement(s);
this.preparedStatement.setString(1, key);
this.preparedStatement.addBatch();
}
this.preparedStatement.executeBatch();
谢谢!
'connect'和'preparedStatement'没有很好的理由是成员变量。所有这些完成了引入线程不安全性,并为其他错误的范围。使它们成为局部变量。 – EJP
@EJP是的,我从一个例子中得到了部分代码。当我对它更有信心时,我会纠正它。感谢您的建议! – Ikki