鴻蒙OS DataSource

2022-11-02 10:38 更新

DataSource

public interface DataSource
extends CommonDataSource, Wrapper

用于連接到此 DataSource 對象所代表的物理數(shù)據(jù)源的工廠。 作為 DriverManager 工具的替代方法,DataSource 對象是獲取連接的首選方法。 實現(xiàn) DataSource 接口的對象通常會向基于 Java? Naming and Directory (JNDI) API 的命名服務(wù)注冊。

DataSource 接口由驅(qū)動程序供應(yīng)商實現(xiàn)。 有三種類型的實現(xiàn):

  1. 基本實現(xiàn)——產(chǎn)生一個標準的 Connection 對象
  2. 連接池實現(xiàn)——生成一個將自動參與連接池的連接對象。 此實現(xiàn)與中間層連接池管理器一起使用。
  3. 分布式事務(wù)實現(xiàn)——生成一個可用于分布式事務(wù)并且?guī)缀蹩偸菂⑴c連接池的 Connection 對象。 此實現(xiàn)與中間層事務(wù)管理器一起使用,并且?guī)缀蹩偸桥c連接池管理器一起使用。

DataSource 對象具有可在必要時修改的屬性。 例如,如果將數(shù)據(jù)源移動到不同的服務(wù)器,則可以更改服務(wù)器的屬性。 好處是因為可以更改數(shù)據(jù)源的屬性,因此無需更改訪問該數(shù)據(jù)源的任何代碼。

通過 DataSource 對象訪問的驅(qū)動程序不會將自身注冊到 DriverManager。 相反,通過查找操作檢索 DataSource 對象,然后用于創(chuàng)建 Connection 對象。 通過基本實現(xiàn),通過 DataSource 對象獲得的連接與通過 DriverManager 工具獲得的連接相同。

DataSource 的實現(xiàn)必須包含一個公共的無參數(shù)構(gòu)造函數(shù)。

Since:

1.4

方法總結(jié)

修飾符和類型 方法 描述
Connection getConnection() 嘗試與此 DataSource 對象所代表的數(shù)據(jù)源建立連接。
Connection getConnection(String username, String password) 嘗試與此 DataSource 對象所代表的數(shù)據(jù)源建立連接。
從接口 javax.sql.CommonDataSource 繼承的方法
getLoginTimeout, getLogWriter, getParentLogger, setLoginTimeout, setLogWriter
從接口 java.sql.Wrapper 繼承的方法
isWrapperFor, unwrap

方法詳情

getConnection

Connection getConnection() throws SQLException

嘗試與此 DataSource 對象所代表的數(shù)據(jù)源建立連接。

返回:

與數(shù)據(jù)源的連接

Throws:

Throw名稱 Throw描述
SQLException 如果發(fā)生數(shù)據(jù)庫訪問錯誤
SQLTimeoutException 當驅(qū)動程序確定已超過 setLoginTimeout 方法指定的超時值并至少嘗試取消當前數(shù)據(jù)庫連接嘗試時

getConnection

Connection getConnection(String username, String password) throws SQLException

嘗試與此 DataSource 對象所代表的數(shù)據(jù)源建立連接。

參數(shù):

參數(shù)名稱 參數(shù)描述
username 代表其建立連接的數(shù)據(jù)庫用戶
password 用戶密碼

返回:

與數(shù)據(jù)源的連接

Throws:

Throw名稱 Throw描述
SQLException 如果發(fā)生數(shù)據(jù)庫訪問錯誤
SQLTimeoutException 當驅(qū)動程序確定已超過 setLoginTimeout 方法指定的超時值并至少嘗試取消當前數(shù)據(jù)庫連接嘗試時

Since:

1.4

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號