Class.forName
一经调用,就会把类载入虚拟机.
这时java会执行该类的静态初始化.
下面是mysql的Driver代码.
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 {
}
}
所以说,你调用forName,等于运行static代码块的内容.
他会向DriverManager注册自身.
java.sql.DriverManager.registerDriver(new Driver());
然后你从DriverManager得到数据库的连接.
Connection conn=DriverManager.getConnection(url);
浙公网安备 33010602011771号