| 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 Driver <--> Database
透過中間件來存取資料庫,使用者不必安裝特定的驅動程式,而是由驅動程式呼叫中間件,由中間件來完成所有的資料
庫存取動作,然後將結果傳回給驅動程式:
Application <--> JDBC-middleware <-->
middleware <--> Database
使用純Java撰寫驅動程式與資料庫作溝通,而不透過橋接或中間件來存取資料庫:
Application <--> Pure Java Driver <--> Database MySQL的JDBC驅動程式屬於Type 4,稱之為Connector/J,目前有支援JDBC 2.0與JDBC 3.0的版本,您可以在以下的網站取得: http://www.mysql.com/products/connector-j/index.html |