2017-05-30 117 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