當我必須使用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