Java PreparedStatement получает последний вставленный идентификатор [дубликат]

На этот вопрос уже есть ответ здесь:

Этот ответ на этот вопрос, сделанный таким образом, кажется очень сложным найти в Интернете. В основном я вставляю значения в базу данных MySQL с помощью PreparedStatement. Я использую PreparedStatement для выхода из данных, чтобы предотвратить атаки SQL Injection. Проблема в том, что теперь есть способ восстановить эти ключи.

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

Так как я могу избежать ввода и использовать PreparedStatements в Java?

35
задан Dave G 1 April 2011 в 12:16
поделиться