public interface DataSource
該工廠用於提供到此 DataSource 對象表示的物理數據源的連接。作為 DriverManager(二者區別:http://tobylxy.iteye.com/blog/1673421 http://jingyan.baidu.com/article/73c3ce280545fae50243d955.html http://www.cnblogs.com/taoweiji/archive/2012/12/11/2812852.html) 設施的替代項,DataSource 對象 是獲取連接的首選方法。實現 DataSource 接口的對象通常在基 於 JavaTM Naming and Directory Interface (JNDI) API 的命名服務中注冊。
DataSource 接口由驅動程序供應商實現。共有三種類型的實現:
基本實現 - 生成標准 Connection 對象
連接池實現 - 生成自動參與連接池的 Connection 對象。此實現與中間層連接池管理器一起使用。
分布式事務實現 - 生成一個 Connection 對象,該對象可用於分布式事務,並且幾乎始終參與連接池。此實現與中間層事務管理器一起使用,並且幾乎始終與連接池管理器一起使用。
DataSource 對象的屬性在需要時可以修改。例如,如果將數據源移動到另一個服務器,則可更改與服務器相關的屬性。其優點是,因為可以更改數據源的屬性,所以任何訪問該數據源的代碼都無需更改。
通過 DataSource 對象訪問的驅動程序不會向 DriverManager 注冊。通過查找操作檢索 DataSource 對象,然后使用該 對象創建 Connection 對象。使用基本的實現,通過 DataSource 對象獲取的連接與通過 DriverManager 設施獲取的連 接相同。