-
public interface Driver
每个驱动程序类必须实现的接口。Java SQL框架允许多个数据库驱动程序。
每个驱动程序都应该提供一个实现Driver接口的类。
DriverManager将尝试加载尽可能多的驱动程序,然后对于任何给定的连接请求,它会依次要求每个驱动程序尝试连接到目标URL。
强烈建议每个Driver类应该是小型且独立的,以便可以加载和查询Driver类,而不需要大量的支持代码。
当加载一个Driver类时,它应该创建一个自己的实例,并用DriverManager注册它。 这意味着用户可以通过调用以下方式加载和注册驱动程序:
Class.forName("foo.bah.Driver")
JDBC驱动程序可以创建DriverAction实现,以便在调用DriverManager.deregisterDriver(java.sql.Driver)时接收通知。
- 从以下版本开始:
- 1.1
- 另请参见:
-
DriverManager
,Connection
,DriverAction
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 boolean
acceptsURL(String url)
检索驱动程序是否认为可以打开与给定URL的连接。Connection
connect(String url, Properties info)
尝试使数据库连接到给定的URL。int
getMajorVersion()
检索司机的主要版本号。int
getMinorVersion()
获取驱动程序的次要版本号。Logger
getParentLogger()
返回此驱动程序使用的所有日志记录器的父记录器。DriverPropertyInfo[]
getPropertyInfo(String url, Properties info)
获取有关此驱动程序可能属性的信息。boolean
jdbcCompliant()
报告此驱动程序是否是一个真正的JDBC兼容驱动程序。
-
-
-
方法详细信息
-
connect
Connection connect(String url, Properties info) throws SQLException
尝试使数据库连接到给定的URL。 如果驱动程序意识到连接到给定的URL是错误的驱动程序,驱动程序应该返回“null”。 这将是常见的,因为当JDBC驱动程序管理器被要求连接到给定的URL时,它会依次将URL传递给每个加载的驱动程序。如果驱动程序是正确的驱动程序连接到给定的URL,但连接到数据库时,驱动程序应该抛出一个
SQLException
。Properties
参数可用于传递任意字符串标签/值对作为连接参数。 通常,Properties
对象中至少应包含“用户”和“密码”属性。注意:如果将属性指定为
url
一部分,并且还在Properties
对象中指定,那么Properties
哪个值优先执行定义。 为了最大可移植性,应用程序应仅指定一次属性。- 参数
-
url
- 要连接到的数据库的URL -
info
- 作为连接参数的任意字符串标签/值对的列表。 通常至少应包含“用户”和“密码”属性。 - 结果
-
一个
Connection
对象,表示与URL的连接 - 异常
-
SQLException
- 如果发生数据库访问错误或URL为null
-
acceptsURL
boolean acceptsURL(String url) throws SQLException
检索驱动程序是否认为可以打开与给定URL的连接。 通常,驱动程序将返回true
如果他们了解在URL中指定的子协议和false
,如果他们不这样做。- 参数
-
url
- 数据库的URL - 结果
-
true
如果此驱动程序了解给定的URL; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误或url是null
-
getPropertyInfo
DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException
获取有关此驱动程序可能属性的信息。getPropertyInfo
方法旨在允许通用GUI工具发现应该提示人们为了获取足够的信息连接到数据库的属性。 请注意,根据人类迄今为止提供的值,可能需要额外的值,因此可能需要对getPropertyInfo
方法进行多次调用。- 参数
-
url
- 要连接到的数据库的URL -
info
- 建议的连接打开时发送的标签/值对列表 - 结果
-
描述可能属性的
DriverPropertyInfo
对象的数组。 如果不需要属性,该数组可能是一个空数组。 - 异常
-
SQLException
- 如果发生数据库访问错误
-
getMajorVersion
int getMajorVersion()
检索司机的主要版本号。 最初这应该是1。- 结果
- 这个司机的主要版本号
-
getMinorVersion
int getMinorVersion()
获取驱动程序的次要版本号。 最初这应该是0。- 结果
- 这个司机的次版本号
-
jdbcCompliant
boolean jdbcCompliant()
报告此驱动程序是否是一个真正的JDBC兼容驱动程序。 如果驱动程序通过了JDBC兼容性测试,true
这里只能报告true
; 否则需要返回false
。JDBC兼容性要求完全支持JDBC API并完全支持SQL 92入门级。 预计JDBC兼容的驱动程序将可用于所有主要的商业数据库。
这种方法并不旨在鼓励开发非JDBC兼容驱动程序,而是认识到一些供应商有兴趣为不支持完整数据库功能的轻量级数据库或特殊数据库使用JDBC API和框架例如文档信息检索,其中SQL实现可能不可行。
- 结果
-
true
如果这个驱动程序是符合JDBC的; 否则为false
-
getParentLogger
Logger getParentLogger() throws SQLFeatureNotSupportedException
返回此驱动程序使用的所有日志记录器的父记录器。 这应该是距离根记录器最远的记录器,该记录器仍然是此驱动程序使用的所有记录器的祖先。 配置此记录器将影响驱动程序生成的所有日志消息。 在最坏的情况下,这可能是根记录器。- 结果
- 该驱动程序的父记录器
- 异常
-
SQLFeatureNotSupportedException
- 如果驱动程序不使用java.util.logging
。 - 从以下版本开始:
- 1.7
-
-