Module java.sql
Package java.sql

Interface Driver


public interface Driver
每个驱动程序类必须实现的接口。

Java SQL框架允许使用多个数据库驱动程序。

每个驱动程序应提供一个实现Driver接口的类。

驱动程序管理器将尝试加载尽可能多的驱动程序,然后对于任何给定的连接请求,它将依次要求每个驱动程序尝试连接到目标URL。

强烈建议每个Driver类应该小而独立,以便可以加载和查询Driver类而不会引入大量的支持代码。

当加载Driver类时,它应创建自身的实例并将其注册到DriverManager。这意味着用户可以通过调用以下方式加载和注册驱动程序:

Class.forName("foo.bah.Driver")

JDBC驱动程序可以创建一个DriverAction实现,以便在调用DriverManager.deregisterDriver(java.sql.Driver)时接收通知。

自版本:
1.1
参见:
  • Method Details

    • connect

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

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

      可以使用Properties参数传递任意字符串标签/值对作为连接参数。通常,Properties对象中至少应包含“user”和“password”属性。

      注意: 如果属性作为url的一部分指定,并且也在Properties对象中指定,则哪个值优先取决于实现。为了最大的可移植性,应用程序应该只指定一个属性一次。

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

      boolean acceptsURL(String url) throws SQLException
      检索驱动程序是否认为它可以打开到给定URL的连接。通常,如果驱动程序理解URL中指定的子协议,则驱动程序将返回true,否则将返回false
      参数:
      url - 数据库的URL
      返回:
      如果此驱动程序理解给定的URL,则返回true; 否则返回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;否则,它需要返回false

      JDBC兼容性要求完全支持JDBC API和完全支持SQL 92 Entry Level。预计所有主要商业数据库都将提供符合JDBC标准的驱动程序。

      此方法不旨在鼓励开发非JDBC兼容的驱动程序,而是承认一些供应商有兴趣使用JDBC API和框架用于不支持完整数据库功能的轻量级数据库,或用于特殊数据库,例如文档信息检索,其中SQL实现可能不可行。

      返回:
      如果此驱动程序符合JDBC标准,则返回true; 否则返回false
    • getParentLogger

      Logger getParentLogger() throws SQLFeatureNotSupportedException
      返回此驱动程序使用的所有Logger的父Logger。这应该是离根Logger最远但仍是此驱动程序的所有Logger的祖先的Logger。配置此Logger将影响驱动程序生成的所有日志消息。在最坏的情况下,这可能是根Logger。
      返回:
      此驱动程序的父Logger
      抛出:
      SQLFeatureNotSupportedException - 如果驱动程序不使用java.util.logging
      自版本:
      1.7