【发布时间】:2011-08-24 22:17:30
【问题描述】:
我听说加载 JDBC 驱动程序的首选方法是:
Class.forName(driverName);
我知道这更适合多个驱动程序之间的动态决策,可能从 XML 配置文件或用户输入中读取。我很好奇的是,调用这个语句是如何将指定的驱动程序加载到我们甚至没有在任何地方存储生成的“类”对象的环境中的。 JavaDocs 条目说:
public static Class forName(String className)
throws ClassNotFoundExceptionReturns
返回与给定字符串名称的类或接口关联的 Class 对象
那么,Java 开发者是如何通过这句话来促成驱动对象的存在的呢?
【问题讨论】:
-
请注意,如果您使用的是 JDBC 4.0 或更高版本(包含在 Java SE 6 中),则不再需要
Class.forName(...)。 JDBC 现在可以自动查找和初始化驱动程序了。见:onjava.com/pub/a/onjava/2006/08/02/…