jdbcTemplate - utilizando RowMapper

Fala galera, tudo bem?

Estou brincando um pouco com ws que estou criando, mas estou com uma duvida.

Estou usando o jdbcTemplate.query para trazer uma lista do banco de dados e jogar em um model. Só que a ideia é executar o sql e pegar apenas alguns campos do retorno e jogar em outro model, também.

Pelo o que olhei na internet, teria que usar o .query com o RowMapper, mas não entendi como

Olha o exemplo que está funcionando (trazendo a lista de dados completa e jogando no model)

public list listaUsuarios(){

return jdbcTemplate.query("SELECT ID, NOME, EMAIL FROM PESSOA", new BeanPropertyRowMapper(Pessoa.class));

}

só que, se hipoteticamente eu quero trazer apenas o campo NOME dessa consulta, sem alterar o SQL, como faz?

Como assim sem alterar o SQL? O banco tem que saber o que voce quer. SELECT NOME FROM PESSOA ou SELECT ID, NOME, EMAIL FROM PESSOA. Uma saída seria você montar o SQL dinamicamente.

Ah ideia é eu consultar uma procedure do banco, vai me trazer diversos campos, todos vou usar, mas em models diferentes.

Agora a questao mudou. Evite essa mistura, fica mais limpo cada resultset enxuto para atender cada funcionalidade, com sua própria estrutura de dados.

Mas nada impede de mapear o resultado de uma procedure para atender vários modelos. Veja em 1.1 Custom RowMapper:

https://www.mkyong.com/spring/spring-jdbctemplate-querying-examples/