Class.forName("com.mysql.jdbc.Driver")為何能載入JDBC驅動
阿新 • • 發佈:2020-01-29
Class.forName()作用:
- 裝載一個類並且對其進行例項化的操作。
- 裝載過程中使用到的類載入器是當前類。
com.mysql.jdbc.Driver 原始碼:
// Driver 介面,所有資料庫廠商必須實現的介面,表示這是一個驅動類
public class Driver implements java.sql.Driver { public Driver() throws SQLException { } static { try { DriverManager.registerDriver(new Driver()); //註冊資料庫驅動 } catch (SQLException var1) { throw new RuntimeException("Can't register driver!"); } } }
所以真正註冊驅動的是DriverManager,Class.forName是告訴程式該使用哪一種資料庫的驅動jar包。
注:從 JDBC3 開始,目前已經普遍使用的版本。可以不用註冊驅動而直接使用。Class.forName 這句話可以省略。