接口 java.sql.Driver
- public interface Driver
Java SQL 框架允許用于多個(gè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序。
每個(gè)驅(qū)動(dòng)程序應(yīng)提供實(shí)現(xiàn)驅(qū)動(dòng)程序接口的一個(gè)類(lèi)。
DriverManager 將加載所能查找到的盡可能多的驅(qū)動(dòng)程序,然后對(duì)任何給定連接請(qǐng)求,試著將每個(gè)驅(qū)動(dòng)程序依次連接到目標(biāo) URL 。
建議每個(gè) Driver 類(lèi)都應(yīng)該短小并且獨(dú)立,以便不必引用大量支持代碼就能加載和查詢(xún) Driver 類(lèi)。
加載一個(gè) Driver 類(lèi)時(shí),應(yīng)創(chuàng)建自身的實(shí)例并用 DriverManager 注冊(cè)。這意味著使用 Class.forName("foo.bah.Driver") 用戶(hù)就能加載和注冊(cè)一個(gè)驅(qū)動(dòng)程序。
- 參見(jiàn):
- DriverManager, Connection
方法索引
- acceptsURL(String)
- 若驅(qū)動(dòng)程序能打開(kāi)與給定 URL 的連接,則返回 true 。
- connect(String, Properties)
- 試圖與給定 URL 建立數(shù)據(jù)庫(kù)連接。
- getMajorVersion()
- 獲取驅(qū)動(dòng)程序的主版本號(hào)。
- getMinorVersion()
- 獲取驅(qū)動(dòng)程序的次版本號(hào)。
- getPropertyInfo(String, Properties)
-
getPropertyInfo 方法能讓通用的 GUI
工具知道應(yīng)該向用戶(hù)提示什么樣的屬性而使得用戶(hù)有足夠的信息去連接一個(gè)數(shù)據(jù)庫(kù)。
- jdbcCompliant()
- 報(bào)告驅(qū)動(dòng)程序是否是真正的 JDBC COMPLIANT(tm) 驅(qū)動(dòng)程序。
方法
connect
public abstract Connection connect(String url,
Properties info) throws SQLException
- 試圖建立到給定 URL 的數(shù)據(jù)庫(kù)連接。若認(rèn)識(shí)到連接給定 URL 的驅(qū)動(dòng)程序是錯(cuò)誤的,則該驅(qū)動(dòng)程序應(yīng)返回“ null ”。通常, 當(dāng)請(qǐng)求 JDBC 驅(qū)動(dòng)程序管理者連接到某個(gè)給定 URL 時(shí),它依次向每個(gè)加載的驅(qū)動(dòng)程序傳送 URL 。
若連接到給定 URL 的驅(qū)動(dòng)程序是正確的,但連接到數(shù)據(jù)庫(kù)有困難,則該驅(qū)動(dòng)程序應(yīng)引起 SQLException 。
用 java.util.Properties 參數(shù)作為連接參數(shù)可傳送任意字符串標(biāo)記/值對(duì)。通常 Properties 里至少應(yīng)包括“用戶(hù)”和“口令”特性。
- 參數(shù):
- url - 待連接的數(shù)據(jù)庫(kù)的 URL
- info - 作為連接參數(shù)的任意字符串標(biāo)記/值對(duì)的列表;通常至少應(yīng)包括“用戶(hù)”和“口令”特性
- 返回值:
- 與 URL 的一個(gè)連接
- 拋出:
SQLException
- 若發(fā)生了數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤。
acceptsURL
public abstract boolean acceptsURL(String url) throws SQLException
- 若驅(qū)動(dòng)程序能打開(kāi)與給定 URL 的連接,則返回 true 。若驅(qū)動(dòng)程序能理解 URL 中所指定的子協(xié)議,則驅(qū)動(dòng)程序返回 true ,若不能理解則返回 false 。
- 參數(shù):
- url - 數(shù)據(jù)庫(kù)的 URL
- 返回值:
- 若該驅(qū)動(dòng)程序能連接到給定 URL ,則為 true 。
- 拋出:
SQLException
- 若發(fā)生了數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤。
getPropertyInfo
public abstract DriverPropertyInfo[] getPropertyInfo(String url,
Properties info) throws SQLException
-
getPropertyInfo 方法能讓通用的 GUI
工具知道應(yīng)該向用戶(hù)提示什么樣的屬性,從而使得用戶(hù)有足夠的信息去連接一個(gè)數(shù)據(jù)庫(kù)。注意:根據(jù)用戶(hù)目前所提供的數(shù)值要求,附加信息也許成為必需的了,因此可能有必要調(diào)用幾個(gè) getPropertyInfo 來(lái)迭代。
- 參數(shù):
- url - 待連接的數(shù)據(jù)庫(kù)的 URL
- info - 連接打開(kāi)時(shí)將要發(fā)送標(biāo)記/值對(duì)的建議列表。
- 返回值:
- 描述可能特性的 DriverPropertyInfo 對(duì)象數(shù)組。若無(wú)特性請(qǐng)求,則該數(shù)組可為空。
- 拋出:
SQLException
- 若發(fā)生了數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤。
getMajorVersion
public abstract int getMajorVersion()
- 獲取驅(qū)動(dòng)程序的主版本號(hào)。初始應(yīng)為 1 。
getMinorVersion
public abstract int getMinorVersion()
- 獲取驅(qū)動(dòng)程序的次版本號(hào)。初始應(yīng)為 0 。
jdbcCompliant
public abstract boolean jdbcCompliant()
- 報(bào)告驅(qū)動(dòng)程序是否是真正的 JDBC COMPLIANT(tm) 的驅(qū)動(dòng)程序。若驅(qū)動(dòng)程序發(fā)送 JDBC 適應(yīng)測(cè)試,
則驅(qū)動(dòng)程序可能只報(bào)告“ true ”,否則返回 false 。
JDBC 適應(yīng)性要求全部支持 JDBC API 和 SQL 92 輸入項(xiàng)級(jí)別。要求適應(yīng) JDBC 的驅(qū)動(dòng)程序?qū)λ兄饕慕?jīng)濟(jì)數(shù)據(jù)庫(kù)是可用的。該方法不鼓勵(lì)開(kāi)發(fā)不適應(yīng) JDBC 的驅(qū)動(dòng)程序,但承認(rèn)有些銷(xiāo)售商有興趣用 JDBC API
和框架開(kāi)發(fā)不支持全部數(shù)據(jù)庫(kù)功能的低開(kāi)銷(xiāo)數(shù)據(jù)庫(kù)或某些特殊數(shù)據(jù)庫(kù),如不能用 SQL 實(shí)現(xiàn)的文檔信息檢索。