/ / Zrozumienie przykładu kodu JDBCTemplate wiosny - java, spring

Zrozumienie przykładowego kodu źródłowego JDBCTemplate - java, spring

Oto przykład z sekcji 14.2.5 Dokumentacja SpringJdbc. Nie otrzymałem tego, co próbowali powiedzieć tym kodem:

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;
}
}

Duplikacja metody setter dla obiektu dataSource zapobiega kompilacji tego kodu. Co oni naprawdę chcieli powiedzieć?

Odpowiedzi:

2 dla odpowiedzi № 1

Drugi setDataSource metoda jest błędem i nie powinna tam być. W przeciwnym razie ten kod pokazuje, jak JdbcTemplate może być używany w DAO. Połączenia DB hermetyzowane przez szablon biorą udział w transakcjach i nie musisz przejmować się zamykaniem zasobów DB, takich jak kursory czy instrukcje.