使用JdbcTemplate.execute(ConnectionCallback)与try with resources有什么区别?

时间:2014-08-27 09:34:18

标签: spring jdbc

我使用的是QueryDSL(但它不是QueryDSL特定的问题),它需要JDBC连接才能工作。我必须确保连接正确关闭等。

我考虑两个选择:

简单

try(Connection con = dataSource.getConnection()) {
   //here goes my QueryDSL code
}

使用ConnectionCallback

jdbcTemplate.execute(new ConnectionCallback<String>() {
    public String doInConnection(Connection con) throws SQLException {
       //here goes my QueryDSL code
    }     
}

是什么让我在这里使用jdbcTemplate而不是使用资源?这在某种程度上与交易处理有关吗?

DataSource是由JNDI从JBoss获得的。

0 个答案:

没有答案