使用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());这样就加载了驱动类。
JDBC驱动加载解析
本文解析了在使用JDBC连接MySQL数据库时,加载驱动类`com.mysql.jdbc.Driver`的必要性,并深入分析了该类静态初始化块的作用,即通过`DriverManager`注册驱动。

被折叠的 条评论
为什么被折叠?



