2017-05-30 120 views
0

我对Spring引导JDBC模板是如何工作有疑问。我已阅读文档,但无法了解清楚:(什么时候模板打开连接,当它被关闭。如何进行交易的处理方式。它是否被打开和关闭,每次查询执行?Spring引导Jdbctemplate

+1

有没有简单的答案......基本上都取决于,如果你有交易管理设置与否。如果没有连接将针对每个操作打开(并关闭),如果您在事务启动时打开了1个连接,并在事务结束后关闭连接。 –

回答

1

什么时候该模板打开连接,当它被关闭

对于建筑的JdbcTemplate则应指定的JDBC DataSource从获取连接:

public JdbcTemplate(DataSource dataSource) 

或者:

public JdbcTemplate() 
JdbcAccessor.setDataSource(javax.sql.DataSource) 

确凿,JdbcTemplate作品与此DataSource

DataSource根据实施情况,可能会返回新标准Connection未合并的对象或参与连接池的对象可能会被回收。

JdbcTemplate已汇集连接并将它们释放回DataSource。

如何进行交易的处理

JdbcTemplate依赖于数据库事务。 如果您想要在服务层/业务逻辑上运行事务,则需要事务管理。 最简单的方法是用@Transactional注释服务或使用org.springframework.transaction.support.TransactionTemplate