public interface Driver
Java SQL框架允许多个数据库驱动程序。
每个驱动程序都应该提供一个实现Driver接口的类。
DriverManager将尝试加载尽可能多的驱动程序,然后对于任何给定的连接请求,它会依次要求每个驱动程序尝试连接到目标URL。
强烈建议每个Driver类应该是小型且独立的,以便可以加载和查询Driver类,而不需要大量的支持代码。
当加载一个Driver类时,它应该创建一个自己的实例,并用DriverManager注册它。 这意味着用户可以通过调用以下方式加载和注册驱动程序:
Class.forName("foo.bah.Driver")
JDBC驱动程序可以创建一个DriverAction才能收到通知执行时DriverManager.deregisterDriver(java.sql.Driver)被调用。
DriverManager
, Connection
, DriverAction
Modifier and Type | Method and Description |
---|---|
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兼容驱动程序。
|
Connection connect(String url, Properties info) throws SQLException
如果驱动程序是正确的驱动程序连接到给定的URL,但连接到数据库时,驱动程序应该抛出一个SQLException
。
Properties
参数可用于传递任意字符串标签/值对作为连接参数。 通常至少“用户”和“密码”属性应包含在Properties
对象中。
注意:如果一个属性被指定为的一部分url
和在还指定Properties
对象,它是实现定义哪个值将优先。 为了最大可移植性,应用程序应仅指定一次属性。
url
- 要连接的数据库的URL
info
- 任意字符串标签/值对列表作为连接参数。
通常至少应包含“用户”和“密码”属性。
Connection
与URL的
Connection
对象
SQLException
- 如果发生数据库访问错误或url是
null
boolean acceptsURL(String url) throws SQLException
false
如果没有),驱动程序将返回true
。
url
- 数据库的URL
true
如果此驱动程序了解给定的URL;
false
否则
SQLException
- 如果发生数据库访问错误或url是
null
DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException
getPropertyInfo
方法旨在允许通用GUI工具发现它应该提示人们为了获得足够的信息连接到数据库的属性。 请注意,根据人类迄今提供的值,可能需要额外的值,因此可能需要对getPropertyInfo
方法进行多次调用。
url
- 要连接的数据库的URL
info
- 将在连接打开时发送的标签/值对的提议列表
DriverPropertyInfo
对象的数组。
如果不需要属性,该数组可能是一个空数组。
SQLException
- 如果发生数据库访问错误
int getMajorVersion()
int getMinorVersion()
boolean jdbcCompliant()
true
这里只能报告true
;
否则需要退回false
。
JDBC兼容性要求完全支持JDBC API并完全支持SQL 92入门级。 预计JDBC兼容的驱动程序将可用于所有主要的商业数据库。
这种方法并不旨在鼓励开发非JDBC兼容驱动程序,而是认识到一些供应商有兴趣为不支持完整数据库功能的轻量级数据库或特殊数据库使用JDBC API和框架例如文档信息检索,其中SQL实现可能不可行。
true
如果这个驱动程序是符合JDBC的;
false
否则
Logger getParentLogger() throws SQLFeatureNotSupportedException
SQLFeatureNotSupportedException
- 如果驱动程序不使用
java.util.logging
。