Для оператора INSERT можно сделать следующее (db — это автоматически подключаемый JdbcTemplate):
var insert = new SimpleJdbcInsert(db)
.withTableName("orders")
.usingGeneratedKeyColumns("id");
Map<String, Object> params = new HashMap<String, Object>();
params.put("clientId", 25);
var key = insert.executeAndReturnKey(params);
Я не могу найти эквивалентный метод обновления, который не требует передачи каждого аргумента по одному. В этом я активно использую рефлексию и дженерики, и я просто не могу перечислить каждый аргумент. Я хотел бы иметь возможность сделать что-то вроде этого:
db.update("UPDATE orders set clientId = ? WHERE id = ?", params, id);
Где params — это карта, содержащая имена и значения параметров для обновления, а id — это идентификатор строки, на которую нужно повлиять.
Это возможно?