В том же запросе Statement или PreparedStatement используйте примерно такую конструкцию:
try (ResultSet generatedKeys = statement.getGeneratedKeys()) {
if (generatedKeys.next()) {
long id = generatedKeys.getLong(1);
}
else {
throw new SQLException("No ID obtained");
}
}