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

相关文章
相关标签/搜索