Для этого не нужно использовать специфический для СУБД SQL.
Вот для чего getGeneratedKeys () .
Когда готовит ваше заявление , вы передаете имена автоматически сгенерированных столбцов, которые затем можно получить с помощью getGeneratedKeys ()
PreparedStatement pstmt = connection.prepareStatement(
"insert into some_table (col1, col2, ..) values (....)",
new String[] { "ID_COLUMN"} );
pstmt.executeUpdate();
ResultSet rs = pstmt.getGeneratedKeys(); // will return the ID in ID_COLUMN
Обратите внимание на этот столбецв этом случае имена чувствительны к регистру (в Derby и многих других СУБД).
new String[] { "ID_COLUMN"}
отличается от new String[] { "id_column"}
В качестве альтернативы вы также можете использовать:
connection.prepareStatement("INSERT ...", PreparedStatement.RETURN_GENERATED_KEYS);