模块  java.sql
软件包  java.sql

Interface 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
    另请参见:
    DriverManagerConnectionDriverAction
    • 方法详细信息

      • 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