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 这句话可以省略。