首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

JDBC 入門指南:架構設計、驅動類型、兩層/三層模型與 SQL 一致性處理

     編輯:Java 相關知識

1.1 什麼是 JDBC?

JDBC (Java Database Connectivity) 是用於執行 SQL 語句的 Java API,由一組接口與類組成,為工具/數據庫開發者提供統一訪問接口,實現「寫一次,運行於任何數據庫」。

1.1.1 JDBC 的三大核心功能

  1. 建立數據庫連接
  2. 發送 SQL 語句
  3. 處理結果集
Connection con = DriverManager.getConnection("jdbc:odbc:wombat", "login", "password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
    int x = rs.getInt("a");
    String s = rs.getString("b");
    float f = rs.getFloat("c");
}

1.1.2 低級 API 與高級 API

  • JDBC 為低級 API:直接調用 SQL,功能強但需手寫 SQL
  • 高級 API 建立在 JDBC 之上:
    • 嵌入式 SQL (SQLJ):Java 中混寫 SQL,預處理器轉換為 JDBC 調用
    • 對象/關系映射 (ORM):表行映射為 Java 對象,SQL 自動生成

1.1.3 JDBC vs ODBC

JDBC-ODBC 橋允許在 JDBC 下使用現有 ODBC 驅動,作為過渡方案。

1.1.4 兩層與三層模型

  • 兩層:Applet/應用直接連數據庫 (Client/Server),需客戶端安裝驅動
  • 三層:客戶端 → 中間層 (業務邏輯/連接池/安全控制) → 數據庫。中間層可用 Java 編寫 (利用多線程、安全性),JDBC 是中間層訪問數據庫的關鍵

1.1.5 SQL 一致性處理

  1. 允許任意 SQL 字符串傳遞給驅動 (風險自負)
  2. 提供 ODBC 風格 轉義子句 (日期字面量、存儲過程調用等)
  3. DatabaseMetaData 接口獲取 DBMS 能力描述,應用動態適配

「JDBC Compliant」驅動至少支持 ANSI SQL-2 Entry Level。

1.2 JDBC 產品與驅動類型

JavaSoft 三大組件

  • JDBC DriverManager (核心管理層)
  • JDBC Driver Test Suite (一致性測試)
  • JDBC-ODBC Bridge (過渡方案)

四類驅動程序

維度ODBCJDBC
語言綁定C 接口 (指針、void*)純 Java 面向對象
安全性/可移植性需本地驅動安裝,跨平台困難純 Java 驅動自動下載,天然跨平台
複雜度簡單/高級混雜,選項繁多保證簡單功能簡便,高級功能可選
設計基礎X/Open SQL CLI基於 ODBC 設計優化為 Java 風格
類型描述純Java網絡協議適用場景
1. JDBC-ODBC BridgeBridge + ODBC 驅動否直接企業內網、三層中間層
2. Native-APIJDBC → 客戶端 API (OCI等)否直接過渡期、特定數據庫
3. Net-ProtocolJDBC → 中間件協議 → DBMS 協議是需中間件Intranet/Internet、多數據庫
4. Native-ProtocolJDBC → DBMS 專用網絡協議是直接Intranet、首選長期方案

類型 3/4 為未來主流,具備自動安裝、跨平台、安全等純 Java 優勢。

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