JDBC驅動類型

JDBC驅動類型例子實例教程 - 由於各類各樣的操做系統和硬件平臺的Java JDBC驅動程序的實現方式各不相同。Sun已經劃分紅四類,類型1,2,3和4。java

    

JDBC驅動是什麼?

JDBC驅動程序實現JDBC API定義的接口和數據庫服務器交互sql

例如,使用JDBC驅動程序使您能夠打開數據庫鏈接,並與它進行交互,經過發送SQL或數據庫命令,而後接收結果返回到Java程序。數據庫

java.sql包中附帶的JDK包含各類類定義他們的行爲和他們的實際實現第三方的驅動程序。第三方供應商在他們的數據庫驅動程序實現了java.sql.Driver接口。服務器

JDBC 驅動類型:

由於各類各樣的操做系統和硬件平臺的Java JDBC驅動程序的實現方式各不相同。Sun已經劃分紅四類,類型1,2,3和4,這是下面說明的實施類型:網絡

類型1: JDBC-ODBC 橋接驅動:

類型1驅動程序,JDBC橋是用來訪問ODBC驅動程序安裝在每臺客戶機。使用ODBC須要配置您的系統數據源名稱(DSN)表示目標數據庫。性能

當Java剛出來的時候,這是一個有用的驅動程序,由於大多數的數據庫只支持ODBC訪問,但如今這種類型的驅動程序,建議只對實驗性使用,或當沒有其餘選擇的狀況下。測試

JDBC-ODBC橋自帶的JDK 1.2是這種驅動器一個很好的例子。spa

類型 2: JDBC-Native API:

在類型2驅動程序,JDBC API調用被轉換成原生的C / C++ API調用的數據庫是惟一的。這些驅動程序一般由數據庫廠商提供的JDBC-ODBC橋以一樣的方式使用供應商特定的驅動程序必須安裝在每臺客戶機。操作系統

若是咱們改變了數據庫,咱們必須改變原生API,由於它是特定於數據庫,他們大多已過期,但你能夠實現必定的速度增長一個類型2驅動程序,由於它消除了ODBC的開銷。代理

Oracle調用接口(OCI)驅動程序是一個類型2驅動程序的一個例子。

類型 3: JDBC-Net 純Java:

在類型3驅動中,用一個三層的方法來訪問數據庫。 JDBC客戶端使用標準的網絡套接字通訊的中間件應用服務器。接口的信息,而後轉換到調用的DBMS所要求的格式,並轉發到數據庫服務器的中間件應用服務器。

這種驅動器是很是靈活的,由於它不須要安裝在客戶端上和實際上能夠提供一個單一的驅動程序訪問多個數據庫的代碼。

能想到的應用程序服務器做爲一個JDBC「代理」,這意味着它讓客戶端應用程序調用。所以,須要一些知識的應用服務器的配置,以便有效地使用這個驅動程序類型。

應用程序服務器可使用類型1,2,或4驅動程序與數據庫進行通訊,瞭解細微之處是有用的。

類型4: 100% 純Java:

類型4的驅動程序,基於純Java驅動程序,直接與供應商的數據庫經過套接字鏈接。這是最高性能的驅動程序,可用於數據庫,一般是由供應商自行提供。

這種驅動器是很是靈活的,不須要在客戶端或服務器上安裝特殊的軟件。此外,這些驅動器能夠動態下載。

MySQL的Connector/J驅動是一個Type 4驅動程序。由於他們的專有性網絡協議,數據庫廠商一般提供類型4驅動程序。

應使用哪一個驅動程序?

若是訪問的是如下類型的數據庫,如Oracle,Sybase或IBM,那麼首選驅動程序類型4

若是Java應用程序在同一時間訪問多個類型的數據庫,類型3是優選的驅動程序。

類型2驅動程序在 第3類或4類驅動程序不可用去訪問數據庫的狀況下用

類型1驅動程序不被認爲是部署級別的驅動程序,一般僅用於開發和測試目的。

相關文章
相關標籤/搜索