笔记
jdbc提供接口,行为规范;数据库驱动提供实现类
一般叫实现JDBC规范的jar包为JDBC驱动(我们通过JDBC接口执行数据库操作命令,具体让数据库操作的是驱动程序).
原文
链接:www.nowcoder.com/questionTer…
来源:牛客网
最开始使用的时候,不明白为什么首先要加载一个驱动类,之后就可以取得了Connection了,很好奇DriverManager是怎么获得那个驱动类的信息,后来看了下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!”);
}
}
也就是,在Class.forName加载完驱动类,开始执行静态初始化代码时,会自动新建一个Driver的对象,并调用DriverManager.registerDriver把自己注册到DriverManager中去。