Как получить значение любого столбца строки, вставленной с помощью JdbcTemplate

#postgresql #spring-jdbc #jdbctemplate

#postgresql #spring-jdbc #jdbctemplate

Вопрос:

Могу ли я использовать Spring JdbcTemplate для получения значения столбца только что вставленной строки?

Например, SQL выглядит так:

 insert into table1 (name, age) values ('name', 20) returning name;
  

И я хочу получить значение name столбца.

update() Метод возвращает только количество вставленных строк.

Ответ №1:

Похоже, вы можете вставлять строки, если используете JdbcTemplate.queryForObject() и sql использует with ... as конструкцию:

 String sql="with result as (n"  
        "insert into table1 (name, age) values ('name', 20) returning namen"  
        ")n"  
        "select name from resu<";

String name = jdbcTemplate.queryForObject(sql, String.class);