-
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
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 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 Compliant™驱动程序。
-
-
-
方法详细信息
-
connect
Connection connect(String url, Properties info) throws SQLException
尝试与给定的URL建立数据库连接。 如果驱动程序意识到连接到给定URL的驱动程序类型错误,则应返回“null”。 这很常见,因为当要求JDBC驱动程序管理器连接到给定的URL时,它会依次将URL传递给每个加载的驱动程序。如果驱动程序是连接到给定URL但是无法连接到数据库的正确驱动程序,则应该抛出
SQLException
。Properties
参数可用于将任意字符串标记/值对作为连接参数传递。 通常,至少“user”和“password”属性应包含在Properties
对象中。注意:如果属性被指定为
url
一部分并且也在Properties
对象中指定,则实现定义哪个值优先。 为了获得最大的可移植性,应用程序应该只指定一次属性。- 参数
-
url
- 要连接的数据库的URL -
info
- 作为连接参数的任意字符串标记/值对的列表。 通常至少应包括“用户”和“密码”属性。 - 结果
- 表示与URL连接的
Connection
对象 - 异常
-
SQLException
- 如果发生数据库访问错误或网址为null
-
acceptsURL
boolean acceptsURL(String url) throws SQLException
检索驱动程序是否认为它可以打开与给定URL的连接。 通常,驱动程序将返回true
如果他们了解在URL中指定的子协议,false
,如果他们不这样做。- 参数
-
url
- 数据库的URL - 结果
-
true
如果此驱动程序了解给定的URL; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误或网址为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 Compliant™驱动程序。 如果驱动程序通过了JDBC兼容性测试,则只能在此处报告true
; 否则需要返回false
。JDBC合规性要求完全支持JDBC API并完全支持SQL 92 Entry Level。 预计符合JDBC的驱动程序将适用于所有主要商业数据库。
此方法不是为了鼓励开发非JDBC兼容的驱动程序,而是为了认识到某些供应商有兴趣将JDBC API和框架用于不支持完整数据库功能的轻量级数据库,或者用于特殊数据库例如文档信息检索,其中SQL实现可能不可行。
- 结果
-
true
如果此驱动程序符合JDBC标准; 否则为false
-
getParentLogger
Logger getParentLogger() throws SQLFeatureNotSupportedException
返回此驱动程序使用的所有记录器的父记录器。 这应该是离根Logger最远的Logger,它仍然是此驱动程序使用的所有Logger的祖先。 配置此Logger将影响驱动程序生成的所有日志消息。 在最坏的情况下,这可能是根记录器。- 结果
- 此驱动程序的父记录器
- 异常
-
SQLFeatureNotSupportedException
- 如果驱动程序不使用java.util.logging
。 - 从以下版本开始:
- 1.7
-
-