鴻蒙OS DataSource

2022-11-02 10:38 更新

DataSource

public interface DataSource
extends CommonDataSource, Wrapper

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

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

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

DataSource 對(duì)象具有可在必要時(shí)修改的屬性。 例如,如果將數(shù)據(jù)源移動(dòng)到不同的服務(wù)器,則可以更改服務(wù)器的屬性。 好處是因?yàn)榭梢愿臄?shù)據(jù)源的屬性,因此無(wú)需更改訪問(wèn)該數(shù)據(jù)源的任何代碼。

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

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

Since:

1.4

方法總結(jié)

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

方法詳情

getConnection

Connection getConnection() throws SQLException

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

返回:

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

Throws:

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

getConnection

Connection getConnection(String username, String password) throws SQLException

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

參數(shù):

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

返回:

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

Throws:

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

Since:

1.4

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)