JDBC DriverManager

       Class.forName("com.mysql.jdbc.Driver");
            ....
       Connection connection = null;
        connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root", "password");java

DriverManager內部會遍歷一個Driver的註冊表。mysql

註冊過程發生在com.mysql.jdbc.Driver的static塊中:sql

public class Driver extends NonRegisteringDriver implements java.sql.Driver {
   static {
        try {
            java.sql.DriverManager.registerDriver(new Driver());
        } catch (SQLException E) {
            throw new RuntimeException("Can't register driver!");
        }
    }
    public Driver() throws SQLException {
        // Required for Class.forName().newInstance()
    }
}ui

這個類基本就幹自注冊這件事情。真正的事情在NonRegisteringDriver實現。
get

相關文章
相關標籤/搜索