了解spring JDBCTemplate代码示例

时间:2014-12-23 09:04:21

标签: java spring

以下是SpringJdbc documentation的14.2.5部分中的示例。我没有通过这段代码得到他们想说的话:

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

复制dataSource对象的setter方法可以防止编译此代码。他们真的想说什么?

1 个答案:

答案 0 :(得分:2)

第二个setDataSource方法是错误的,不应该存在。否则,此代码显示如何在DAO中使用JdbcTemplate。模板封装的数据库连接参与事务处理,您不必关心关闭数据库资源(如游标或语句)。