您好,登錄后才能下訂單哦!
這篇文章主要介紹JDBC驅(qū)動(dòng)程序有4種類型是什么,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
JDBC驅(qū)動(dòng)程序是一個(gè)軟件組件,它使Java應(yīng)用程序能夠與數(shù)據(jù)庫(kù)進(jìn)行交互。JDBC驅(qū)動(dòng)程序有4種類型,分別為:
1、JDBC-ODBC Bridge驅(qū)動(dòng)程序
2、Native-API 驅(qū)動(dòng)程序(部分是java驅(qū)動(dòng)程序)
3、網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)(完全java驅(qū)動(dòng))
4、本地協(xié)議驅(qū)動(dòng)(完全java驅(qū)動(dòng)程序)
下面我們來(lái)詳細(xì)介紹一下這4種JDBC驅(qū)動(dòng)程序,讓大家了解每種驅(qū)動(dòng)程序的優(yōu)點(diǎn)和缺點(diǎn)。
Type 1:JDBC-ODBC Bridge驅(qū)動(dòng)程序
JDBC-ODBC Bridge驅(qū)動(dòng)程序使用ODBC驅(qū)動(dòng)程序連接到數(shù)據(jù)庫(kù)。JDBC-ODBC橋驅(qū)動(dòng)程序利用現(xiàn)成的ODBC架構(gòu),將JDBC調(diào)用轉(zhuǎn)換為ODBC調(diào)用,避免了JDBC無(wú)驅(qū)動(dòng)可用的尷尬。
不過(guò),由于橋接的限制,并非所有功能都能直接轉(zhuǎn)換并正常調(diào)用,而多層調(diào)用轉(zhuǎn)換對(duì)速度也有一定的影響,除非沒(méi)有其他解決方案,否則不應(yīng)采用橋接架構(gòu)。
注:在Java 8中,已刪除JDBC-ODBC Bridge。
優(yōu)點(diǎn):
1、使用方便。
2、可以輕松連接到任何數(shù)據(jù)庫(kù)。
缺點(diǎn):
1、性能降低,因?yàn)镴DBC方法調(diào)用被轉(zhuǎn)換為ODBC函數(shù)調(diào)用。
2、ODBC驅(qū)動(dòng)程序需要安裝在客戶端計(jì)算機(jī)上。
Type 2:Native-API驅(qū)動(dòng)程序
Native API驅(qū)動(dòng)程序使用數(shù)據(jù)庫(kù)的客戶端庫(kù),會(huì)直接調(diào)用數(shù)據(jù)庫(kù)提供的原生鏈接庫(kù)或客戶端,因?yàn)闆](méi)有中間過(guò)程,訪問(wèn)速度通常表現(xiàn)良好。
這來(lái)驅(qū)動(dòng)程序?qū)DBC方法調(diào)用轉(zhuǎn)換為數(shù)據(jù)庫(kù)API的本機(jī)調(diào)用。它不是完全用java編寫的。
優(yōu)點(diǎn):
性能升級(jí)比JDBC-ODBC橋驅(qū)動(dòng)程序好,訪問(wèn)速度通常表現(xiàn)良好。
缺點(diǎn):
1、需要在每臺(tái)客戶端計(jì)算機(jī)上安裝Native驅(qū)動(dòng)程序。
2、客戶端庫(kù)需要安裝在客戶端計(jì)算機(jī)上。
Type 3:網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)(Network Protocol)
網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)程序使用中間件(應(yīng)用程序服務(wù)器)將JDBC調(diào)用直接或間接轉(zhuǎn)換為獨(dú)立于數(shù)據(jù)庫(kù)的協(xié)議,主要目的是為了獲得更好的架構(gòu)靈活性;它完全是用java編寫的。
優(yōu)點(diǎn):
由于應(yīng)用程序服務(wù)器可以執(zhí)行許多任務(wù),如審計(jì),負(fù)載平衡,日志記錄等,因此不需要客戶端庫(kù)。
缺點(diǎn):
1、客戶端計(jì)算機(jī)上需要網(wǎng)絡(luò)支持。
2、需要在中間層中完成特定于數(shù)據(jù)庫(kù)的編碼。
3、網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)程序的維護(hù)變得昂貴,因?yàn)樗枰谥虚g層中完成特定于數(shù)據(jù)庫(kù)的編碼。
Type 4:本地協(xié)議驅(qū)動(dòng)(Native Protocol )
本地協(xié)議驅(qū)動(dòng):將JDBC調(diào)用直接轉(zhuǎn)換為數(shù)據(jù)庫(kù)特定的網(wǎng)絡(luò)通信協(xié)議。它是最常見(jiàn)的驅(qū)動(dòng)程序類型,我們開(kāi)發(fā)中使用的驅(qū)動(dòng)包jar基本都屬于這類驅(qū)動(dòng),通常是由數(shù)據(jù)庫(kù)廠商直接提供,例:mysql-connector-java。
因?yàn)槭鞘褂镁W(wǎng)絡(luò)通信,驅(qū)動(dòng)程序可以完全用java編寫,支持跨平臺(tái)部署,性能也較好。
優(yōu)點(diǎn):
1、性能優(yōu)于所有其他驅(qū)動(dòng)程序。
2、客戶端或服務(wù)器端不需要軟件。
缺點(diǎn):
驅(qū)動(dòng)程序依賴于數(shù)據(jù)庫(kù)。
以上是JDBC驅(qū)動(dòng)程序有4種類型是什么的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。