Class.forName("com.mysql.jdbc.Driver")

为什么实例化一个"com.mysql.jdbc.Driver"就可以注册Driver到DriverManager了呢?

1 Class.forName("com.mysql.jdbc.Driver");
2 conn = java.sql.DriverManager
3 .getConnection(
4 url,
5 USERNAME, PASSWORD);


这是com.mysql.jdbc.Driver的源码:

 1 public class Driver extends NonRegisteringDriver implements java.sql.Driver {
2 // ~ Static fields/initializers
3 // ---------------------------------------------
4
5 //
6 // Register ourselves with the DriverManager
7 //
8 static {
9 try {
10 java.sql.DriverManager.registerDriver(new Driver());
11 } catch (SQLException E) {
12 throw new RuntimeException("Can't register driver!");
13 }
14 }
15 。。。
16 }

原来如此。

原文地址:https://www.cnblogs.com/tao_/p/2231957.html