Получение значения из таблицы JDBC

205
07 декабря 2017, 00:09

как получить значение id из jdbc?
у меня есть класс User с такими полями и аннотациями:

@IdInformation("id")
private Long id;
@ColumnName("name")
private String name;
@ColumnName("password")
private String password;
@ColumnName("email")
private String email;

в классе по сути мы ничего не делаем с полем id. Значения уже присуждаются в БД. Не могу понять как правильно и корректно вытащить это значение оттуда.

Answer 1

Не очень понимаю в чем суть вопроса, а почему нельзя написать так:

Statement stmt;
String query = "select id, name, password, email from User";
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
    String id = rs.getString("id");
}

В чем собственно говоря проблема то?

Answer 2

Смущают аннотации, но если речь всё таки о голом JDBC, то получить сгенерированный id можно как минимум двумя способами:

Явный SQL запрос к базе данных после внесения записи

SELECT LAST_INSERT_ID()

Либо так

int id = statement.executeUpdate(query, Statement.RETURN_GENERATED_KEYS);
READ ALSO
Не удается запустить Tomcat

Не удается запустить Tomcat

Не удается запуститьСначало вышло что порт занят заменила

207
Разбить строку на триады

Разбить строку на триады

Всем привет, недавно задавал этот вопрос, мне помог @Sergey Gornostaev, но вот тестировал, и нашел проблемку, когда в строке не числа, а слова или пустые...

173
callback для .on(“submit”) / .on(“click”) и т.д

callback для .on(“submit”) / .on(“click”) и т.д

Добрый день, у меня есть callback функция, которая хранится в переменной cb, при клике, в случае удачного выполнения ajax (success), мне нужно вернуть...

184
Не правильный вывод

Не правильный вывод

Почему всегда выводит 2? Я думаю что в условии дело, как проверять key какой нажал пользователь?

169