首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

J2EE 規範之 JDBC:從 ODBC 到 JDBC 的演進與對比

     編輯:C++ 入門

一、ODBC:微軟的數據庫互操作標準

ODBC (Open Database Connectivity) 是微軟制定的 C 語言 API,提供統一介面訪問異構數據庫。

架構四層

  1. 應用程序
  2. 驅動程序管理器
  3. 數據庫驅動程序
  4. 數據源

關鍵特點

  • C 語言實現,大量指針操作。
  • 驅動程序隔離具體數據庫細節。
  • 需在客戶機手動安裝驅動與 DSN。

二、JDBC:Java 的原生數據庫連接標準

JDBC (Java Database Connectivity) 由 Sun 定義,純 Java 實現,解決 ODBC 在 Java 中的指針、跨平台、物件導向不匹配問題。

架構同樣四層

  • 應用程序 → JDBC API
  • DriverManager
  • JDBC Driver (Type 1~4)
  • 數據庫

核心優勢

  • 純 Java,跨平台,無指針,物件導向。
  • 驅動程序為 Java 類,隨應用自動部署(Type 4),無需客戶機配置。
  • API 設計遵循「簡單事情簡單做」。

三、ODBC vs JDBC 深度對比

維度ODBCJDBC
語言CJava
指針大量使用無
跨平台依賴平台驅動原生跨平台
學習曲線陡峭(簡單/複雜混雜)平緩(分層 API)
驅動部署手動安裝 DSNClasspath 自動加載
架構模型相同四層相同四層

四、JDBC-ODBC Bridge

早期為讓 Java 訪問無純 Java 驅動的數據庫(如 Access),提供 JDBC-ODBC Bridge(Type 1 驅動):

  • Java → Bridge → ODBC Driver Manager → ODBC Driver → DB
  • 性能損耗大,JDK 8 起移除,現推薦使用 Type 4 純 Java 驅動。

五、JDBC 驅動類型

  1. Type 1: JDBC-ODBC Bridge(棄用)
  2. Type 2: Native-API 部分 Java(需客戶機裝庫)
  3. Type 3: Network Protocol 純 Java(中間件轉發)
  4. Type 4: Thin Driver 純 Java 直連(主流)

六、核心 API 速覽

// 1. 註冊驅動
Class.forName("com.mysql.cj.jdbc.Driver");
// 2. 獲取連接
Connection conn = DriverManager.getConnection(url, user, pass);
// 3. 建立語句
Statement stmt = conn.createStatement();
// 4. 執行查詢
ResultSet rs = stmt.executeQuery("SELECT * FROM t");
// 5. 處理結果
while (rs.next()) { System.out.println(rs.getString("col")); }
// 6. 關閉資源 (try-with-resources 自動關閉)

七、總結

JDBC 繼承了 ODBC 的架構思想,但以 Java 原生方式重塑,消除了指針、平台綁定與部署複雜度,成為 Java 數據庫編程的基石。理解 ODBC→JDBC 的演進,有助於掌握數據庫連接技術的本質:標準介面隔離變化點。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved