/ / Entendiendo el ejemplo de código JDBCTemplate de primavera - java, spring

Entendiendo el ejemplo de código JDBCTemplate de primavera - java, spring

Aquí hay un ejemplo de la sección 14.2.5 de Documentación de SpringJdbc. No entendí lo que intentaron decir con este código:

import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;

public class RunAQuery {

private JdbcTemplate jdbcTemplate;

public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}

public int getCount() {
return this.jdbcTemplate.queryForObject("select count(*) from mytable", Integer.class);
}

public String getName() {
return this.jdbcTemplate.queryForObject("select name from mytable", String.class);
}

public void setDataSource(DataSource dataSource) {
this.dataSource = dataSource;
}
}

La duplicación del método de establecimiento para el objeto dataSource evita que este código se compile. ¿Qué es lo que realmente querían decir?

Respuestas

2 para la respuesta № 1

El segundo setDataSource El método es un error y no debería estar allí. De lo contrario, este código muestra cómo JdbcTemplate Se puede utilizar en un DAO. Las conexiones de base de datos encapsuladas por la plantilla participan en las transacciones y no tiene que preocuparse por cerrar los recursos de la base de datos como cursores o declaraciones.