JDBC驱动程序
JDBC通过一系列接口来访问数据库,而这些接口的实现则是由不同的数据库厂商或组织实现的。要实现对某一特定类型数据库的访问就要通过注册JDBC驱动程序来让程序知道去哪里调用JDBC API 接口的实现。
先看下面的一段程序:
java.sql.DriverManager:从名字就可以看出是用于驱动程序管理的,它的主要责任是保留一个驱动程序的列表,并通过getConnection方法来给应用程序提供与所请求的URL相匹配的Driver(可能是由于同一个数据库的驱动程序可能是有几种不同的实现方式,但如果DriverManager中对一个URL有多个匹配的Driver,它是不是只选择第一个找到的呢?),并返回Connection对象,如果找不到就会抛出一个异常,也就是这一句 Connection oConn = DriverManager.getConnection(url,userName,password)。同时还提供了registerDriver()和deregisterDriver(),这两个方法允许驱动程序的工具用DriverManager注册驱动程序或从列表中删除。可以感觉出是在用Class.froName("com.mysql.jdbc.Driver").newInstance();加载类并初始化这个类的静态初始化部分时调用registerDriver()的方法注册的,我在mysql驱动程序的源码的Driver类中找到对这个方法的调用。
Powered by: BlogJava Copyright © bigseal