Java文档阅读笔记-JDBC Driver
目錄
?
?
JDBC Driver
JDBC-ODBC bridge driver
Native-API driver
Network Protocol driver
Thin driver
?
JDBC Driver
JDBC是Java用來與數(shù)據(jù)庫交互的軟件,他有4個特點:
? ? ? ? ? 1. JDBC-ODBC橋接式驅(qū)動;
? ? ? ? ? 2. 本地API驅(qū)動;
? ? ? ? ? 3. 網(wǎng)絡(luò)協(xié)議驅(qū)動;
? ? ? ? ? 4. 瘦驅(qū)動(我也不知道這個改怎么翻譯)
?
?
JDBC-ODBC bridge driver
使用ODBC驅(qū)動去連接數(shù)據(jù)庫JDBC-ODBC橋接式驅(qū)動把ODBC函數(shù)調(diào)用轉(zhuǎn)換成JDBC的方法。現(xiàn)在不推薦使用。
解釋下封裝成了Java Application提供了Jdbc API,而Java Application調(diào)用了JDBC-ODBC橋接式驅(qū)動,這個驅(qū)動又調(diào)用
了ODBC驅(qū)動,ODBC驅(qū)動再去調(diào)用廠家的lib庫,最后操作數(shù)據(jù)庫。
注意:在Java8里面這種方式已經(jīng)被移除了!
Oracle公司在Java8里面不再提供JDBC-ODBC橋接式驅(qū)動,Oracle推薦直接使用廠家提供的JDBC。
優(yōu)勢:
? ? ? ? ? 1. 使用簡單;
? ? ? ? ? 2. 可以連接任意數(shù)據(jù)庫;
劣勢:
? ? ? ? ? 1. 性能不好,因為JDBC的方法底層調(diào)用了ODBC;
? ? ? ? ? 2. 在客戶端上要有ODBC驅(qū)動。
?
?
Native-API driver
本地API驅(qū)動使用客戶端數(shù)據(jù)庫的lib庫。把JDBC轉(zhuǎn)換為本地數(shù)據(jù)庫的API,這套本地數(shù)據(jù)庫的API并不是由Java編寫
解析下,Java應(yīng)用調(diào)用本地API驅(qū)動,再又本地API驅(qū)動調(diào)用廠家的數(shù)據(jù)庫lib,最后操作數(shù)據(jù)庫。
優(yōu)勢:
? ? ? ? ? 1. 性能比JDBC-ODBC橋接式驅(qū)動好;
劣勢:
? ? ? ? ? 1. 需要在使用機器上安裝各個廠家的驅(qū)動;
? ? ? ? ? 2. 需要安裝對應(yīng)的庫文件。
?
?
Network Protocol driver
網(wǎng)絡(luò)驅(qū)動使用了中間件(應(yīng)用服務(wù)器)把JDBC轉(zhuǎn)換為直接操作廠家數(shù)據(jù)庫的協(xié)議。這完全是由Java編寫;
解析下:通過網(wǎng)絡(luò)驅(qū)動操作中間間最后再操作數(shù)據(jù)庫;
優(yōu)勢:
? ? ? ? ? 1. 因為有中間件所以無需安裝廠家客戶端庫文件,并且這個中間件可以完成審計、負載均衡、日志等功能;
劣勢:
? ? ? ? ? 1. 客戶機需要有網(wǎng);
? ? ? ? ? 2. 在中間件里面需要考慮編碼問題;
? ? ? ? ? 3. 維護成本高
?
?
Thin driver
瘦驅(qū)動直接通過JDBC調(diào)用廠家數(shù)據(jù)庫協(xié)議。全由Java程序編寫
在此不解析了!
優(yōu)勢:
? ? ? ? ? 1. 性能是這幾種方式最高的;
? ? ? ? ? 2. 無需客戶端或服務(wù)器的庫。
劣勢:
? ? ? ? ? 1. 驅(qū)動依賴于數(shù)據(jù)庫本身。
總結(jié)
以上是生活随笔為你收集整理的Java文档阅读笔记-JDBC Driver的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++设计模式-桥接模式
- 下一篇: Java工作笔记-Spring Boot