如题目描述,在对数据库操作完成之后是否需要关闭DataSource,还是只是关闭当前的Connection就可以了?
学习是最好的投资!
Connection用完了是需要關閉,無論是否使用連線池。如果沒有使用連接池那麼Connection關閉是真正的關閉資料庫連接,使用連接池的話Connection關閉實際上是將Connection放回連接池而不是真正關閉連接。使用連線池的目的是要防止經常建立關閉Connection,連線池會對Connection重複使用,就是多次重複使用。
DataSource在使用完後也是需要關閉的,通常情況是在程式停止前關閉。大部分項目在程式碼中沒有手動關閉DataSource是因為關閉DataSource的動作一般是某些框架幫你做好了。例如Spring配置DataSource:
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> ... </bean>
destroy-method="close"的意思就是在這個DataSource生命週期結束之前關閉DataSource。
destroy-method="close"
單一資料庫操作完成後需要關閉 Connection,程式結束前可能需要關閉 DataSource,但一般其實也不需要明確的這麼做。
這些都可以交給框架去處理, mybatis-spring
mybatis-spring
Connection用完了是需要關閉,無論是否使用連線池。如果沒有使用連接池那麼Connection關閉是真正的關閉資料庫連接,使用連接池的話Connection關閉實際上是將Connection放回連接池而不是真正關閉連接。使用連線池的目的是要防止經常建立關閉Connection,連線池會對Connection重複使用,就是多次重複使用。
DataSource在使用完後也是需要關閉的,通常情況是在程式停止前關閉。大部分項目在程式碼中沒有手動關閉DataSource是因為關閉DataSource的動作一般是某些框架幫你做好了。例如Spring配置DataSource:
destroy-method="close"
的意思就是在這個DataSource生命週期結束之前關閉DataSource。單一資料庫操作完成後需要關閉 Connection,程式結束前可能需要關閉 DataSource,但一般其實也不需要明確的這麼做。
這些都可以交給框架去處理,
mybatis-spring