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

JDBC 數據庫訪問完全指南:從基礎理論到多數據庫實戰

     編輯:Java 相關知識

數據庫設計基石:范式理論

  • 1NF: 每列不可再分,無重複組。
  • 2NF: 滿足 1NF,非主鍵列完全依賴主鍵(無部分依賴)。
  • 3NF: 滿足 2NF,非主鍵列互不依賴(無傳遞依賴)。主流關係型資料庫均遵循 3NF 設計。

SQL 與跨表查詢

使用 JOIN 關聯多表,如員工表與薪資範圍表通過 SalaryKey 連接,生成動態視圖。SQL-92 為基準標準,各廠商實現方言略有差異。

JDBC 架構與驅動類型

核心 API 快速上手

// 1. 加載驅動
Class.forName("com.mysql.jdbc.Driver");
// 2. 建立連接
Connection conn = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/demo", "user", "pwd");
// 3. 創建 Statement / PreparedStatement
PreparedStatement ps = conn.prepareStatement("SELECT * FROM users WHERE id=?");
ps.setInt(1, 100);
// 4. 執行查詢/更新
ResultSet rs = ps.executeQuery();
while (rs.next()) {
    System.out.println(rs.getString("name"));
}
// 5. 關閉資源(finally 或 try-with-resources)
rs.close(); ps.close(); conn.close();

主流數據庫連接參數速查

  • MySQL: jdbc:mysql://host:3306/db,驅動 com.mysql.jdbc.Driver
  • PostgreSQL: jdbc:postgresql://host/db,驅動 org.postgresql.Driver
  • Oracle: jdbc:oracle:thin:@host:1521:SID,驅動 oracle.jdbc.driver.OracleDriver
  • SQL Server (jTDS): jdbc:jtds:sqlserver://host:1433/db,驅動 net.sourceforge.jtds.jdbc.Driver
  • SQL Server (Microsoft): jdbc:microsoft:sqlserver://host:1433;databaseName=db
  • DB2: jdbc:db2://host:6789/db,驅動 com.ibm.db2.jcc.DB2Driver
  • ODBC 通用: jdbc:odbc:DSN名,驅動 sun.jdbc.odbc.JdbcOdbcDriver

進階特性

  • 連接池: WebLogic/DBCP/HikariCP 預創建連接,劇烈降低獲取開銷,配置初始/最大/增量容量、驗證查詢、縮容策略。
  • 事務控制: conn.setAutoCommit(false) 手動提交/回滾,配合保存點實現嵌套事務。
  • 存儲過程調用: CallableStatement 支持 IN/OUT/INOUT 參數與返回值,語法 {call proc(?,?)} / {?=call func(?,?)}。
  • 元數據: DatabaseMetaData 獲取表/列/索引/權限信息,ResultSetMetaData 動態解析結果集結構。

兩層 vs 三層架構

  • 兩層:客戶端直連數據庫(Applet/桌面),邏輯與數據耦合。
  • 三層:客戶端 → 應用服務器(EJB/Spring Service) → 數據庫,業務邏輯集中、安全可控、易擴展。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
類型名稱特點適用場景
Type 1JDBC-ODBC Bridge依賴客戶端 ODBC 驅動,Windows 專用,臨時方案桌面小型應用
Type 2Native-API Driver調用本地數據庫客戶端庫,需客戶端安裝內網 C/S 架構
Type 3Network-Protocol Driver純 Java,中間件服務器轉發,支持連接池/負載均衡互聯網/Applet
Type 4Thin Driver純 Java 直連數據庫協議,無中間層,性能最佳企業級標準選擇