這樣做的這個問題的答案似乎很難在互聯網上找到。基本上我使用PreparedStatement將值插入MySQL數據庫。我使用PreparedStatement來轉義數據以防止SQL注入攻擊。問題是,現在有辦法減少這些鍵。Java PreparedStatement檢索最後插入的ID
String query="Insert INTO Table_A(name, age) (?, ?)";
//String query="Insert INTO Table_A(name, age) ('abc','123')";//Doesn't escape
PreparedStatement prest;
prest = con.prepareStatement(query);
prest.setString(1,"abc");
prest.setInt(2,123);
prest.executeUpdate();
//prest.executeUpdate(query, PreparedStatement.RETURN_GENERATED_KEYS); Throws an error
//prest.executeQuery(); Throws an error
那麼我怎樣才能轉義輸入和在Java中使用PreparedStatements?
將'RETURN_GENERATED_KEYS'傳遞給'prepareStatement()'調用並使用'executeUpdate()'來執行插入操作。如果這不起作用,請提供例外。 – ZeissS 2011-04-01 12:14:39
@BalusC引用了一個正確的方法。 – 2011-04-01 12:17:29
@BalusC,這正是我所期待的。壞它不是一個答案! – 2011-04-01 12:53:16