java为什么JDBC是动态加载的,而不是导入的?
在JDBC中,我只看到使用
Class.forName("com.mysql.jdbc.Driver", true, cl);
还没见过有人用
import com.mysql.jdbc.Driver;
是因为我们想让驱动程序包在执行时动态提供,所以只能在执行时知道吗
如果我们在执行之前就知道一个固定的驱动程序包,那么有可能使用第二种方法吗?你会如何比较这两种方法
谢谢
你可以在下面搜索框中键入要查询的问题!
在JDBC中,我只看到使用
Class.forName("com.mysql.jdbc.Driver", true, cl);
还没见过有人用
import com.mysql.jdbc.Driver;
是因为我们想让驱动程序包在执行时动态提供,所以只能在执行时知道吗
如果我们在执行之前就知道一个固定的驱动程序包,那么有可能使用第二种方法吗?你会如何比较这两种方法
谢谢
# 1 楼答案
然后你会读到关于JDBC的老东西。在相当长的一段时间里,这不再有用了。在尝试加载驱动程序类之前,有必要加载驱动程序类,以确保加载了必要的驱动程序,并且能够处理到提供的数据库URL的连接
JDBC抽象是访问数据库所需的全部内容,您不应该关心是使用MySQL驱动程序还是Oracle驱动程序,或者其他什么。在运行时动态加载驱动程序,可以从编译类路径中删除驱动程序jar文件,并确保只依赖标准JDBC类和接口
请注意,导入类除了允许您在代码中使用简单的类名之外,什么都不做。这并不等同于加载和初始化一个类,而第一个代码段就是这样做的