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

JDBC 核心兩步走:加載驅動與獲取數據庫連接深度解析

     編輯:Java 綜合教學

JDBC 核心兩步走:加載驅動與獲取數據庫連接深度解析

1. 加載數據庫驅動 Class.forName(String className)

Java 通過 JDBC 將數據庫抽象為對象。數據庫廠商提供實現 JDBC 接口的驅動類,如 MySQL 的 com.mysql.jdbc.Driver(舊版)或 com.mysql.cj.jdbc.Driver(新版)。

forName 加載原理

  1. 程序啟動後,驅動類名及句柄記錄在進程信息中
  2. forName 傳入類名,OS 找到對應線程及驅動器
  3. 將驅動器加載入 JVM,後續可通過類名調用驅動功能

注意: Eclipse 等 IDE 中需先將 JDBC 驅動 jar 添加到構建路徑/運行時類路徑。

2. 獲取數據庫連接 DriverManager.getConnection(url, user, pwd)

DriverManager 管理 JDBC 驅動,靜態變量 drivers 存放已加載驅動。JDBC 規定一進程只有一驅動,連接建立類似 HTTP 協議。

關鍵參數

  • URL:廠商規定格式。MySQL:jdbc:mysql://hostname:port/dbname
  • 用戶名/密碼:數據庫認證信息

返回值

Connection 對象,後續所有數據庫操作(Statement、PreparedStatement、事務控制)均通過它進行。

完整代碼示例

public Connection getConnection() {
    try {
        // 1. 加載驅動 (JDBC 4.0+ 可省略,SPI 自動加載)
        Class.forName("com.mysql.cj.jdbc.Driver");
        // 2. 獲取連接
        String url = "jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC";
        return DriverManager.getConnection(url, "root", "password");
    } catch (Exception e) {
        throw new RuntimeException("數據庫連接失敗", e);
    }
}

最佳實踐: 生產環境請使用連接池(HikariCP、Druid、C3P0)管理連接,而非手動創建。

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