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 void
deregisterDriver(Driver driver)
DriverManager
の登録済ドライバ・リストから、指定されたドライバを削除します。static Stream<Driver>
drivers()
現在の呼び出し元がアクセスしている、現在ロードされているすべてのJDBCドライバを含むストリームを取得します。static Connection
getConnection(String url)
指定されたデータベースのURLへの接続を試みます。static Connection
getConnection(String url, String user, String password)
指定されたデータベースのURLへの接続を試みます。static Connection
getConnection(String url, Properties info)
指定されたデータベースのURLへの接続を試みます。static Driver
getDriver(String url)
指定されたURLを認識するドライバを獲得しようとします。static Enumeration<Driver>
getDrivers()
現在の呼出し元がアクセスしている、現在ロードされているすべてのJDBCドライバの列挙を取得します。static int
getLoginTimeout()
データベースにログインしているときに、ドライバが待つことのできる最長の時間を秒数で取得します。static PrintStream
getLogStream()
非推奨。getLogWriter
を使用static PrintWriter
getLogWriter()
ログ・ライターを取得します。static void
println(String message)
現在のJDBCログ・ストリームにメッセージを印刷します。static void
registerDriver(Driver driver)
指定されたドライバをDriverManager
に登録します。static void
registerDriver(Driver driver, DriverAction da)
指定されたドライバをDriverManager
に登録します。static void
setLoginTimeout(int seconds)
識別された後のドライバがデータベースに接続しようとするときの最大待機時間(秒単位)を設定します。static void
setLogStream(PrintStream out)
非推奨。setLogWriter
を使用static void
setLogWriter(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:subname
info
- 接続引数としての、任意の文字列タグおよび値のペアのリスト。通常は、少なくとも「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:subname
user
- その代理として接続が行われるデータベース・ユーザー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
- ログ・メッセージまたはトレース・メッセージ
-