設計目標:簡化常見任務、支援複雜需求
JDBC 採「不同功能用不同方法」而非「單一方法加旗標」的 API 風格,降低學習曲線,符合 Java 核心類庫慣例。
核心介面層級
- JDBC API (應用層):
DriverManager:驅動載入與連線建立
Connection:特定資料庫連線
Statement:執行 SQL 的容器
ResultSet:資料列游標
- 子介面:
PreparedStatement (預編譯)、CallableStatement (預存程序)
- JDBC Driver API (驅動層):驅動廠商實作上述介面,
java.sql.Driver 為進入點。
兩大典型使用情境
1. Applet (Internet/Intranet)
- 不可信程式碼,嚴格沙箱:禁本地檔案、禁任意網路連線
- 資料庫定位挑戰:需透過 URL/命名服務定位
- 跨網路延遲高,需考量連線池、非同步查詢
2. Application (本地/Intranet)
- 受信任程式碼,完整權限
- 資料庫命名直觀 (如 "Customers"),期望系統自動解析位置、驅動
- 常見於企業內部合作軟體
其他新興情境
- Trusted Applet:簽章驗證後等同 Application 權限,但部署模式仍像 Applet
- 三層架構:Java Client → Middle Tier (RPC/ORB) → DB。中間層可用 Java 實作,利用健壯性、多執行緒優勢。有利 MIS 定義合法操作、提升效率。
簡化常見任務範例
無參數 SQL (SELECT/INSERT/UPDATE/DELETE) 處理簡單型別結果集為基本任務;IN/OUT 參數、大物件 (BLOB/CLOB)、多結果集屬進階功能。Metadata API 僅供工具開發者或高階使用者使用。