javax.sql
接口 DataSource
public interface DataSource
該工廠用於提供到此 DataSource
對象表示的物理數據源的連接。作爲 DriverManager
設施的替代項,DataSource
對象是獲取連接的首選方法。實現 DataSource
接口的對象通常在基於 JavaTM Naming and Directory Interface (JNDI) API 的命名服務中註冊。
DataSource
接口由驅動程序供應商實現。共有三種類型的實現:
- 基本實現 - 生成標準
Connection
對象 - 連接池實現 - 生成自動參與連接池的
Connection
對象。此實現與中間層連接池管理器一起使用。 - 分佈式事務實現 - 生成一個
Connection
對象,該對象可用於分佈式事務,並且幾乎始終參與連接池。此實現與中間層事務管理器一起使用,並且幾乎始終與連接池管理器一起使用。
DataSource
對象的屬性在需要時可以修改。例如,如果將數據源移動到另一個服務器,則可更改與服務器相關的屬性。其優點是,因爲可以更改數據源的屬性,所以任何訪問該數據源的代碼都無需更改。
通過 DataSource
對象訪問的驅動程序不會向 DriverManager
註冊。通過查找操作檢索 DataSource
對象,然後使用該對象創建 Connection
對象。使用基本的實現,通過 DataSource
對象獲取的連接與通過 DriverManager
設施獲取的連接相同。
- 從以下版本開始:
- 1.4
方法摘要 Connection
getConnection()
嘗試建立與此DataSource
對象表示的數據源的連接。Connection
getConnection(String username, String password)
嘗試建立與此DataSource
對象表示的數據源的連接。int
getLoginTimeout()
獲取此數據源嘗試連接到某一數據庫時可以等待的最長時間,以秒爲單位。PrintWriter
getLogWriter()
檢索此DataSource
對象的日誌 writer。void
setLoginTimeout(int seconds)
設置數據源嘗試連接到某一數據庫時將等待的最長時間,以秒爲單位。void
setLogWriter(PrintWriter out)
將此DataSource
對象的日誌 writer 設置爲給定的java.io.PrintWriter
對象。