模块 java.sql
 java.sql

接口 Driver


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
参见:
  • 方法详情

    • connect

      Connection  connect(String  url, Properties  info) throws SQL异常
      尝试建立到给定 URL 的数据库连接。如果驱动程序意识到连接到给定 URL 的驱动程序类型错误,则它应该返回“null”。这很常见,因为当要求 JDBC 驱动程序管理器连接到给定的 URL 时,它会将 URL 依次传递给每个加载的驱动程序。

      如果驱动程序是连接给定 URL 的正确驱动程序,但在连接到数据库时遇到问题,则驱动程序应抛出 SQLException

      Properties 参数可用于将任意字符串标记/值对作为连接参数传递。通常至少应在 Properties 对象中包含“用户”和“密码”属性。

      笔记:如果属性被指定为 url 的一部分,并且还在 Properties 对象中指定,则实现定义哪个值优先。为了获得最大的可移植性,应用程序应该只指定一个属性一次。

      参数:
      url - 要连接的数据库的 URL
      info - 作为连接参数的任意字符串标记/值对列表。通常至少应包括“用户”和“密码”属性。
      返回:
      代表 URL 连接的 Connection 对象
      抛出:
      SQLException - 如果发生数据库访问错误或 url 为 null
    • acceptsURL

      boolean acceptsURL(String  url) throws SQL异常
      检索驱动程序是否认为它可以打开到给定 URL 的连接。通常,如果驱动程序理解 URL 中指定的子协议,它们将返回 true,否则将返回 false
      参数:
      url - 数据库的 URL
      返回:
      true 如果此驱动程序理解给定的 URL; false否则
      抛出:
      SQLException - 如果发生数据库访问错误或 url 为 null
    • getPropertyInfo

      DriverPropertyInfo [] getPropertyInfo(String  url, Properties  info) throws SQL异常
      获取有关此驱动程序的可能属性的信息。

      getPropertyInfo 方法旨在允许通用 GUI 工具发现它应该提示人们输入哪些属性,以便获得足够的信息来连接到数据库。请注意,根据人类目前提供的值,可能需要额外的值,因此可能需要迭代多次调用 getPropertyInfo 方法。

      参数:
      url - 要连接的数据库的 URL
      info - 建议的标签/值对列表,将在连接打开时发送
      返回:
      描述可能属性的 DriverPropertyInfo 对象数组。如果不需要属性,则此数组可以是空数组。
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMajorVersion

      int getMajorVersion()
      检索驱动程序的主要版本号。最初这应该是 1。
      返回:
      此驱动程序的主要版本号
    • getMinorVersion

      int getMinorVersion()
      获取驱动程序的次要版本号。最初这应该是 0。
      返回:
      此驱动程序的次要版本号
    • jdbcCompliant

      boolean jdbcCompliant()
      报告此驱动程序是否是真正的 JDBC 兼容驱动程序。如果驱动程序通过了 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