| JDBC是用於執行SQL的Java API,它將資料庫存取的API與SQL陳述分開,實現資料庫無關的API介面,藉由JDBC統一的介面,開發人員只要專注於SQL陳述,而可以不必理會底層的資料庫驅動程式與相關介面。 使用JDBC,由廠商實作資料庫的介面,而SQL的操作部份由Java程式設計人員負責,如果要更換驅動程式,則只要載入新的驅動程式來源即可,Java 程式的部份則無需改變。 簡單的說,JDBC讓Java程式設計人員在撰寫資料庫程式的時候,可以「寫一個程式,適用所有的資料庫」。 下圖JDBC API、資料庫驅動程式與資料庫之間的關係: ![]() JDBC資料庫驅動程式依實作方式可以分為四個類型:
使用者的電腦上必須事先安裝好ODBC驅動程式,Type
1驅動程式利用Bridge的方式將JDBC的呼叫方式轉換為ODBC的呼叫方式,用於Microsoft Access之類的資料庫存取:
Application <--> JDBC-ODBC Bridge <--> ODBC
Driver <--> Database
驅動程式上層包裝Java程式以與Java應用程式作溝通,將JDBC呼叫轉為原生程式碼的呼叫,下層為原生語
言(像是C、C++)來與資料庫作溝通,下層的函式庫是針對特定資料庫設計的,不若Type 1可以對ODBC架構的資料庫作存取:
Application <--> Native-API Bridge <-->
Native API <--> Database
透過中介的伺服器或中間件來存取資料庫,客戶端驅動程式以特定於伺服器或中間件的網路協定,與伺服器或中間件進行溝通,而由中介伺服器或中間件來完成所有的資料
庫存取動作,然後將結果傳回給驅動程式:
Application <--> JDBC-Net <-->
middleware 或 server <--> Database
直接以資料庫的網路協定與資料庫作溝通,而不透過橋接、中介伺服器或中間件來存取資料庫:
Application <--> Native-Protocol <--> Database Type 3與Type 4可以使用純Java撰寫,跨平台時是較建議採用的驅動程式。 MySQL的JDBC驅動程式屬於Type 4,稱之為Connector/J,目前有支援JDBC 2.0與JDBC 3.0的版本,您可以在以下的網站取得: http://www.mysql.com/products/connector-j/index.html |