使用JDBC的时候,我们都会按照推荐的加入下面一条语句:
Class.forName("com.mysql.jdbc.Driver");
这条语句如果不添加就会错误,但是这条语句好像只是加载了一个类而已,没有执行任何操作。那么为什么必须添加这条语句呢?
我们切进去看一下com.mysql.jdbc.Driver源码:
static {
try {
java.sql.DriverManager.registerDriver(new Driver());
} catch (SQLException E) {
throw new RuntimeException("Can't register driver!");
}
}
根据我们之前对类加载的知识,很明显会执行静态块,因此会执行java.sql.DriverManager.registerDriver(new Driver());这样就加载了驱动类。