Class.forName(String className)Java 通過 JDBC 將數據庫抽象為對象。數據庫廠商提供實現 JDBC 接口的驅動類,如 MySQL 的 com.mysql.jdbc.Driver(舊版)或 com.mysql.cj.jdbc.Driver(新版)。
forName 傳入類名,OS 找到對應線程及驅動器注意: Eclipse 等 IDE 中需先將 JDBC 驅動 jar 添加到構建路徑/運行時類路徑。
DriverManager.getConnection(url, user, pwd)DriverManager 管理 JDBC 驅動,靜態變量 drivers 存放已加載驅動。JDBC 規定一進程只有一驅動,連接建立類似 HTTP 協議。
jdbc:mysql://hostname:port/dbnameConnection 對象,後續所有數據庫操作(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)管理連接,而非手動創建。