public class DriverManager extends Object
注意: DataSourceインタフェースは、データソースに接続する別の方法を提供します。 データ・ソースへの接続時にはDataSourceオブジェクトの使用をお薦めします。
DriverManagerクラスは、初期化の一環として、次の方法で使用可能なJDBCドライバをロードしようとします:
- JDBCドライバの完全修飾クラス名のコロン区切りリストを含む
jdbc.driversシステム・プロパティ。 各ドライバは、システム・クラス・ローダー:jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver
- サービス・プロバイダのロード・メカニズムによってロードされる、
java.sql.Driverクラスのサービス・プロバイダ。
- 実装上の注意:
DriverManagerの初期化は遅れて実行され、スレッド・コンテキスト・クラス・ローダーを使用してサービス・プロバイダを検索します。 アプリケーションにロードされ、使用可能なドライバは、DriverManagerによるドライバの初期化をトリガーするスレッドのスレッド・コンテキスト・クラス・ローダーによって異なります。メソッド
getConnectionが呼び出されると、DriverManagerは、初期化時にロードされたドライバと現在のアプリケーションと同じクラス・ローダーを使用して明示的にロードされたドライバの中から適切なドライバを探し出します。- 導入されたバージョン:
- 1.1
- 関連項目:
Driver,Connection
-
メソッドのサマリー
修飾子と型 メソッド 説明 static voidderegisterDriver(Driver driver)DriverManagerの登録済ドライバ・リストから、指定されたドライバを削除します。static Stream<Driver>drivers()現在の呼び出し元がアクセスしている、現在ロードされているすべてのJDBCドライバを含むストリームを取得します。static ConnectiongetConnection(String url)指定されたデータベースのURLへの接続を試みます。static ConnectiongetConnection(String url, String user, String password)指定されたデータベースのURLへの接続を試みます。static ConnectiongetConnection(String url, Properties info)指定されたデータベースのURLへの接続を試みます。static DrivergetDriver(String url)指定されたURLを認識するドライバを獲得しようとします。static Enumeration<Driver>getDrivers()現在の呼出し元がアクセスしている、現在ロードされているすべてのJDBCドライバの列挙を取得します。static intgetLoginTimeout()データベースにログインしているときに、ドライバが待つことのできる最長の時間を秒数で取得します。static PrintStreamgetLogStream()非推奨。getLogWriterを使用static PrintWritergetLogWriter()ログ・ライターを取得します。static voidprintln(String message)現在のJDBCログ・ストリームにメッセージを印刷します。static voidregisterDriver(Driver driver)指定されたドライバをDriverManagerに登録します。static voidregisterDriver(Driver driver, DriverAction da)指定されたドライバをDriverManagerに登録します。static voidsetLoginTimeout(int seconds)識別された後のドライバがデータベースに接続しようとするときの最大待機時間(秒単位)を設定します。static voidsetLogStream(PrintStream out)非推奨。setLogWriterを使用static voidsetLogWriter(PrintWriter out)DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintWriterオブジェクトを設定します。
-
メソッドの詳細
-
getLogWriter
public static PrintWriter getLogWriter()ログ・ライターを取得します。 非推奨のget/setlogStreamメソッドの代わりにgetLogWriterメソッドおよびsetLogWriterメソッドを使用するべきです。- 戻り値:
java.io.PrintWriterオブジェクト- 導入されたバージョン:
- 1.2
- 関連項目:
setLogWriter(java.io.PrintWriter)
-
setLogWriter
public static void setLogWriter(PrintWriter out)DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintWriterオブジェクトを設定します。セキュリティ・マネージャが存在する場合、その
checkPermissionメソッドが最初にSQLPermission("setLog")アクセス許可で呼び出され、呼び出し元がsetLogWriterを呼び出すことが許可されているかどうかがチェックされます。- パラメータ:
out- 新しいログおよびトレースのPrintStreamオブジェクト。ログおよびトレースを無効にする場合はnull- 例外:
SecurityException- セキュリティ・マネージャが存在し、checkPermissionメソッドがログ・ライターを設定する許可を拒否した場合。- 導入されたバージョン:
- 1.2
- 関連項目:
SecurityManager.checkPermission(java.security.Permission),getLogWriter()
-
getConnection
public static Connection getConnection(String url, Properties info) throws SQLException指定されたデータベースのURLへの接続を試みます。DriverManagerは、登録されたJDBCドライバの集合から適切なドライバを選択しようとします。注: プロパティが
urlの一部として指定され、Propertiesオブジェクトでも指定された場合、どちらの値が優先されるかについては、実装で定義されます。 移植性を最大限にするため、アプリケーションはプロパティを一度だけ指定するようにしてください。- パラメータ:
url- 次の形式のデータベースURL:jdbc:subprotocol:subnameinfo- 接続引数としての、任意の文字列タグおよび値のペアのリスト。通常は、少なくとも「user」プロパティと「password」プロパティは指定するべき- 戻り値:
- URLへのConnection
- 例外:
SQLException- データベース・アクセス・エラーが発生した場合、またはurlがnullの場合SQLTimeoutException- ドライバが、setLoginTimeoutメソッドで指定されたタイムアウト値が経過したと判定し、少なくとも現在のデータベース接続の試みを取り消そうとしたとき
-
getConnection
public static Connection getConnection(String url, String user, String password) throws SQLException指定されたデータベースのURLへの接続を試みます。DriverManagerは、登録されたJDBCドライバの集合から適切なドライバを選択しようとします。注:
userまたはpasswordプロパティがurlの一部としても指定された場合、どちらの値が優先されるかについては、実装で定義されます。 移植性を最大限にするため、アプリケーションはプロパティを一度だけ指定するようにしてください。- パラメータ:
url- 次の形式のデータベースURL:jdbc:subprotocol:subnameuser- その代理として接続が行われるデータベース・ユーザーpassword- ユーザーのパスワード- 戻り値:
- URLへの接続
- 例外:
SQLException- データベース・アクセス・エラーが発生した場合、またはurlがnullの場合SQLTimeoutException- ドライバが、setLoginTimeoutメソッドで指定されたタイムアウト値が経過したと判定し、少なくとも現在のデータベース接続の試みを取り消そうとしたとき
-
getConnection
public static Connection getConnection(String url) throws SQLException指定されたデータベースのURLへの接続を試みます。DriverManagerは、登録されたJDBCドライバの集合から適切なドライバを選択しようとします。- パラメータ:
url- 次の形式のデータベースURL:jdbc:subprotocol:subname- 戻り値:
- URLへの接続
- 例外:
SQLException- データベース・アクセス・エラーが発生した場合、またはurlがnullの場合SQLTimeoutException- ドライバが、setLoginTimeoutメソッドで指定されたタイムアウト値が経過したと判定し、少なくとも現在のデータベース接続の試みを取り消そうとしたとき
-
getDriver
public static Driver getDriver(String url) throws SQLException指定されたURLを認識するドライバを獲得しようとします。DriverManagerは、登録されたJDBCドライバの集合から適切なドライバを選択しようとします。- パラメータ:
url- 形式jdbc:subprotocol:subnameのデータベースURL- 戻り値:
- 指定されたURLに接続できるドライバを表す
Driverオブジェクト - 例外:
SQLException- データベース・アクセス・エラーが発生した場合
-
registerDriver
public static void registerDriver(Driver driver) throws SQLException指定されたドライバをDriverManagerに登録します。 新しくロードされるドライバ・クラスはregisterDriverメソッドを呼び出し、それをDriverManagerに通知するべきです。 ドライバが現在登録されている場合、アクションは実行されません。- パラメータ:
driver-DriverManagerに登録される新しいJDBCドライバ- 例外:
SQLException- データベース・アクセス・エラーが発生した場合NullPointerException-driverがnullの場合
-
registerDriver
public static void registerDriver(Driver driver, DriverAction da) throws SQLException指定されたドライバをDriverManagerに登録します。 新しくロードされるドライバ・クラスはregisterDriverメソッドを呼び出し、それをDriverManagerに通知するべきです。 ドライバが現在登録されている場合、アクションは実行されません。- パラメータ:
driver-DriverManagerに登録される新しいJDBCドライバda-DriverManager#deregisterDriverが呼び出されたときに使用するDriverAction実装- 例外:
SQLException- データベース・アクセス・エラーが発生した場合NullPointerException-driverがnullの場合- 導入されたバージョン:
- 1.8
-
deregisterDriver
public static void deregisterDriver(Driver driver) throws SQLExceptionDriverManagerの登録済ドライバ・リストから、指定されたドライバを削除します。削除するドライバとして
null値が指定された場合、アクションは実行されません。セキュリティ・マネージャが存在する場合、その
checkPermissionメソッドがSQLPermission("deregisterDriver")アクセス権で最初に呼び出され、呼び出し元がJDBCドライバの登録抹消を許可されているかどうかが検査されます。指定されたドライバが登録済ドライバ・リストにない場合、アクションは実行されません。 ドライバが見つからなかった場合、そのドライバは登録済ドライバ・リストから削除されます。
JDBCドライバの登録時に
DriverActionインスタンスが指定された場合は、登録済ドライバ・リストからドライバが削除される前に、その登録解除メソッドが呼び出されます。- パラメータ:
driver- 削除するJDBCドライバ- 例外:
SQLException- データベース・アクセス・エラーが発生した場合SecurityException- セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがドライバを登録解除するためのアクセス権を拒否した場合。- 関連項目:
SecurityManager.checkPermission(java.security.Permission)
-
getDrivers
public static Enumeration<Driver> getDrivers()現在の呼出し元がアクセスしている、現在ロードされているすべてのJDBCドライバの列挙を取得します。注: ドライバのクラス名は、
d.getClass().getName()を使用して見つけることができます- 戻り値:
- 呼出し元のクラス・ローダーによってロードされるJDBCドライバのリスト
- 関連項目:
drivers()
-
drivers
現在の呼び出し元がアクセスしている、現在ロードされているすべてのJDBCドライバを含むストリームを取得します。- 戻り値:
- 呼び出し元クラス・ローダーによってロードされたJDBCドライバのストリーム
- 導入されたバージョン:
- 9
-
setLoginTimeout
public static void setLoginTimeout(int seconds)識別された後のドライバがデータベースに接続しようとするときの最大待機時間(秒単位)を設定します。- パラメータ:
seconds- ログイン時間制限(秒単位)。ゼロは制限なし- 関連項目:
getLoginTimeout()
-
getLoginTimeout
public static int getLoginTimeout()データベースにログインしているときに、ドライバが待つことのできる最長の時間を秒数で取得します。- 戻り値:
- ドライバのログインのタイム・リミット(秒単位)
- 関連項目:
setLoginTimeout(int)
-
setLogStream
@Deprecated(since="1.2")public static void setLogStream(PrintStream out)非推奨。setLogWriterを使用DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintStreamを設定します。セキュリティ・マネージャが存在する場合、その
checkPermissionメソッドが最初にSQLPermission("setLog")アクセス許可で呼び出され、呼び出し元がsetLogStreamを呼び出すことが許可されているかどうかがチェックされます。- パラメータ:
out- ログおよびトレースの新しいPrintStream。無効にする場合はnullに設定する- 例外:
SecurityException- セキュリティ・マネージャが存在し、checkPermissionメソッドがログ・ストリームを設定する許可を拒否した場合。- 関連項目:
SecurityManager.checkPermission(java.security.Permission),getLogStream()
-
getLogStream
@Deprecated(since="1.2") public static PrintStream getLogStream()非推奨。getLogWriterを使用DriverManagerおよびすべてのドライバが使用する、ログおよびトレースのPrintStreamを取得します。- 戻り値:
- ログおよびトレースのPrintStream。無効な場合は
null - 関連項目:
setLogStream(java.io.PrintStream)
-
println
public static void println(String message)現在のJDBCログ・ストリームにメッセージを印刷します。- パラメータ:
message- ログ・メッセージまたはトレース・メッセージ
-