モジュール java.sql
パッケージ java.sql

インタフェースDriver


  • public interface Driver
    すべてのドライバ・クラスが実装しなければならないインタフェースです。

    JavaのSQLフレームワークでは、複数のデータベース・ドライバが使用可能です。

    各ドライバは、Driverインタフェースを実装するクラスを指定しなければいけません。

    DriverManagerは、見つけたすべてのドライバをロードしようとします。そして、指定された接続要求に対し、各ドライバにターゲットのURLに接続するように要求します。

    Driverクラスは、小さく、かつスタンドアロンであることを強くお薦めします。そうすれば、支援のためのコードを大量に導入することなく、Driverクラスをロードし、クエリーすることができるからです。

    Driverクラスをロードするときは、そのインスタンスを生成し、DriverManagerで登録しなければいけません。 つまり、ユーザーは次のメソッドを呼び出すことでドライバをロードし、登録できます。

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

    JDBCドライバは、DriverManager.deregisterDriver(java.sql.Driver)が呼び出されたときに通知を受け取るためにDriverAction実装を作成できます。

    導入されたバージョン:
    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(TM)ドライバであるかどうかを報告します。
    • メソッドの詳細

      • 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 - 接続引数としての、任意の文字列タグおよび値のペアのリスト。 通常は、少なくとも「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 Compliant(TM)ドライバであるかどうかを報告します。 ドライバはJDBCの準拠テストにパスする場合にだけtrueを返し、そうでない場合はfalseを返す必要があります。

        JDBCに準拠するには、JDBC APIとSQL 92 Entry Levelの完全なサポートが必要です。 JDBC準拠のドライバは、主要な商用データベースのすべてで使用できます。

        このメソッドは、JDBC準拠ではないドライバの開発を推奨することは意図していません。しかし、いくつかのベンダーが、完全なデータベース機能をサポートしていない軽量データベース、あるいは文献情報検索のようなSQLによる実装が実施できない特別なデータベースに対して、JDBCのAPIとフレームワークを適用することに興味を持っていることを認識した結果としてあります。

        戻り値:
        このドライバがJDBC準拠の場合はtrue、そうでない場合はfalse
      • getParentLogger

        Logger getParentLogger()
                        throws SQLFeatureNotSupportedException
        このドライバで使用されるすべてのロガーの親ロガーを返します。 これはこのドライバによって使用されているすべてのロガーの上位ロガーであるルート・ロガーからもっとも遠いロガーになるはずです。 このロガーを構成すると、ドライバによって生成されたすべてのログ・メッセージに影響します。 最悪の場合、これがルートLoggerになる可能性があります。
        戻り値:
        このドライバの親ロガー
        例外:
        SQLFeatureNotSupportedException - ドライバがjava.util.loggingを使用しない場合。
        導入されたバージョン:
        1.7