当我必须使用Java处理MySQL DB时,我使用由MySQL自己开发的驱动程序。使用这个库很容易,但我有一个关于性能的问题。每次查询数据库时,应该使用什么“关闭”方法?使用MySQL连接器改进查询Java
如果例如我有一个for循环,这使得在数据库中插入更多,我应该使用什么?
private void invioInsert(String query){
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (Exception E) {
System.err.println("Non trovo il driver da caricare.");
E.printStackTrace();
}
try {
PreparedStatement statement = conn.prepareStatement(query);
statement.execute();
statement.close();
} catch (SQLException E) {
System.out.println("SQLException: " + E.getMessage());
System.out.println("SQLState: " + E.getSQLState());
System.out.println("VendorError: " + E.getErrorCode());
}
}
例如for循环可以是:
for(int i=0; i<=10, i++){
String query = "INSERT TABLE VALUES ("+i+")";
sendQuery(query);
}
因此,这是的完整代码循环:
for (int i = 0; i < file.getList().size(); i++) {
StringTokenizer tokenizer = new StringTokenizer(file.getList().get(i).replace("\"", ""));
String ID = tokenizer.nextToken("|");
int j = 0;
while(j<5){
tokenizer.nextToken("|");
j++;
}
String voto = tokenizer.nextToken("|");
String query = "Insert RisultatiGiocatori values ('"+giornata+"','"+ID+"','"+voto+"')";
invioInsert(query);
}
你想做准备好的语句或只是一个简单的插入?我无法从你的代码中知道,因为你指的是两者。 – 2015-01-20 19:57:26
我已经插入了我使用的完整代码(所以for循环)。 – 2015-01-20 20:12:41