Пожалуйста, объясните как можно используя каждый из этих способов извлекать ключ. К пример есть:
@Data
@FieldDefaults(level = PRIVATE)
public class Developer {
String name;
String specialty;
Integer experience;
}
public interface DeveloperDao {
public void setDataSource(DataSource dataSource);
public void createDeveloper(String name, String specialty, Integer experience);
public List listDevelopers();
public void removeDeveloper(String name);
public void updateDeveloper(String name, String specialty, Integer experience);
}
@FieldDefaults(level = PRIVATE)
public class JdbcTemplateDeveloperDaoImpl implements DeveloperDao {
DataSource dataSource;
JdbcTemplate jdbcTemplate;
@Override
public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
@Override
public void createDeveloper(String name, String specialty, Integer experience) {
String SQL = "INSERT INTO DEVELOPERS (name, specialty, experience) VALUES (?,?,?)";
jdbcTemplate.update(SQL, name, specialty, experience);
System.out.println("Developer successfully created.\nName: " + name + ";\nSpecilaty: " +
specialty + ";\nExperience: " + experience + "\n");
}
@Override
public List listDevelopers() {
String SQL = "SELECT * FROM DEVELOPERS";
List developers = jdbcTemplate.query(SQL, new DeveloperMapper());
return developers;
}
@Override
public void removeDeveloper(String name) {
String SQL = "DELETE FROM DEVELOPERS WHERE name = ?";
jdbcTemplate.update(SQL, name);
System.out.println("Developer with id: " + name + " successfully removed");
}
@Override
public void updateDeveloper(String name, String specialty, Integer experience) {
String SQL = "UPDATE DEVELOPERS SET name = ?, specialty = ?, experience = ? ";
jdbcTemplate.update(SQL, name, specialty, experience);
System.out.println("Developer with id: " + name + " successfully updated.");
}
}
Вы можете получить ключи если передадите параметер объекта класса GeneratedKeyHolder
в jdbcTemplate
метод.
В случае PreparedStatement
вы можете использовать константу RETURN_GENERATED_KEYS
в качестве второго параметра
PreparedStatement statement = connection.prepareStatement(SQL_INSERT,
Statement.RETURN_GENERATED_KEYS);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Задача учебная на javaВ ней есть объект, который выглядит как круг и двигается за целью (типа игра)
Как через кнопку в уведомлении вызвать метод processIntent() в MainActivityВ уведомлении я прописал кнопки
В простое веб приложение подключил log4j