我知道类装入对于在运行时用其类名装入类很有用。
然而,在我们的项目中使用JDBC时,我们知道要使用哪个驱动程序,而且大多数驱动程序管理器字符串都是硬编码的。
我的问题是:为什么我们要在这里使用Class.forName("JDBC_DRIVER")
加载驱动程序?
为什么我们不能在类路径中添加驱动程序呢?因为我们知道要使用哪个驱动程序jar。
我相信Class.forName(JDBC_DRIVER)
会将驱动程序加载到DriverManager
中。这是唯一的原因吗?
编辑1:
DriverManager
API doc声明
作为其( DriverManager )初始化的一部分,DriverManager类将尝试加载在"jdbc.drivers“系统属性中引用的驱动程序类。
应用程序不再需要显式地使用Class.forName()
加载JDBC驱动程序。当前使用Class.forName()
加载JDBC驱动程序的现有程序无需修改即可继续工作。
那么,当我使用oracle驱动程序以外的其他驱动程序时,我是否需要更改系统属性中的驱动程序名称字符串?
https://stackoverflow.com/questions/7662902
复制相似问题