java 加载mysql驱动程序_java-jdbc,加载数据库驱动

DriverManager 类包含一列Driver 类,它们已通过调用方法DriverManager.registerDriver 对自己进行了注册。所有Driver 类都必须包含有一个静态部分。它创建该类的实例,然后在加载该实例时DriverManager 类进行注册。这样,用户正常情况下将不会直接调用DriverManager.registerDriver;而是在加载驱动程序时由驱动程序自动调用。

加载Driver 类,然后自动在DriverManager 中注册的方式有两种:

通过调用方法Class.forName。这将显式地加载驱动程序类。由于这

与外部设置无关,因此推荐使用这种加载驱动

程序的方法。以下代码加载类

acme.db.Driver:Class.forName("acme.db.Driver");

如果将acme.db.Driver 编写为加载时创建实例,并调用以该实例为参数的

DriverManager.registerDriver(),则它在DriverManager 的驱动程序列表中,并可用于创建连接。通过将驱动程序添加到 java.lang.System 的属性 jdbc.drivers 中。

这是一个由DriverManager 类加载的驱动程序类名的列表,由冒号分隔:初始化

DriverManager 类时,它搜索系统属性jdbc.drivers,如果用户已输入了一个或多个驱动程序,则DriverManager 类将试图加载它们。对DriverManager 方法的第一次调用将自动加载这些

驱动程序类。

注意:加载驱动程序的第二种方法需要持久的预设环境。如果对这一点不能保证,则调用方法

Class.forName 显式地加载每个驱动程序就显得更为安全。这也是引入特定驱动程序的方法,因为一旦DriverManager 类被初始化,它将不再检查jdbc.drivers 属性列表。

在以上两种情况中,新加载的Driver 类都要通过调用DriverManager.registerDriver

类进行自我注册。如上所述,加载类时将自动执行这一过程。

由于安全方面的原因,JDBC 管理层将跟踪哪个类加载器提供哪个驱动程序。这样,当

DriverManager 类打开连接时,它仅使用本地文件系统或与发出连接请求的代码相同的类加载器提供的驱动程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值