加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 加载JDBC驱动

发布时间:2020-12-14 16:40:02 所属栏目:Java 来源:网络整理
导读:我被告知,加载JDBC驱动程序的首选方法是: Class.forName(driverName); 我知道这对于多个驱动程序之间的动态决策可能会从XML配置文件或用户输入中读取更好.我很好奇的是,如何调用这个语句将所述的驱动程序加载到环境中,甚至我们甚至没有将所得到的“Class”
我被告知,加载JDBC驱动程序的首选方法是:
Class.forName(driverName);

我知道这对于多个驱动程序之间的动态决策可能会从XML配置文件或用户输入中读取更好.我很好奇的是,如何调用这个语句将所述的驱动程序加载到环境中,甚至我们甚至没有将所得到的“Class”对象存储在任何地方. JavaDocs条目说:

public static Class forName(String className)
                 throws ClassNotFoundExceptionReturns

returns the Class object associated with the class or interface with the given string name

在这种情况下,Java开发人员如何使用这个语句来方便驱动对象的存在?

解决方法

Class#forName()运行 static initializers(你知道静态适用于类,而不适用于实例). JDBC驱动程序实现 should在静态初始化程序中注册自身.
public class SomeDriver implements Driver {

    static {
        DriverManager.registerDriver(new SomeDriver());
    }

}

请注意,存在错误的JDBC驱动程序,如org.gjt.mm.mysql.Driver,而不是在构造函数内注册自身.这就是为什么你需要一个newInstance()调用这样的驱动程序让他们注册自己.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读