La configuración del jdbcTemplate es la siguiente:
@Bean(name = namedParameterJdbcTemplate")
public NamedParameterJdbcTemplate namedParameterJdbcTemplate(@Qualifier("dataSource")
DataSource dataSource) {
return new NamedParameterJdbcTemplate(dataSource);
}
Usar NamedParameterJdbcTemplate nos permite manejar parámetros con los nombres que quisieramos, mas adelante se mostrara en el siguiente ejemplo:
MapSqlParameterSource params = new MapSqlParameterSource();
params.addValue("name", name);
Así se definen los parámetros que se van a pasar a la query, utilizando nombres (:nombre) así se identifican de una mejor forma dentro de la propia query, en este caso la consulta a la base de datos es sencilla, sera muy útil cuando tengamos consultas grandes a la base de datos.
List users = namedParameterJdbcTemplate.query(
"SELECT * FROM USERS WHERE NAME = :nombre ", params, new UserRowMapper());
public class UserRowMapper implements RowMapper{ @Override public UserRow mapRow(ResultSet resultSet, int rowNum) throws SQLException { UserRow row = new UserRow (); row.setName(resultSet.getLong("NAME")); row.setLastName(resultSet.getLong("LAST_NAME")); row.setId(resultSet.getString("USER_ID")); return row; } }
Así se define el mapper, haciendo las conversiones correspondientes y hasta con la posibilidad de personalizar las transformaciones que prefieramos.
No hay comentarios:
Publicar un comentario