Класс DriverManager
public class DriverManager extends Object
ПРИМЕЧАНИЕ: Интерфейс DataSource предоставляет ещё один способ подключения к источнику данных. Использование объекта DataSource является предпочтительным способом подключения к источнику данных.
При инициализации класс DriverManager попытается загрузить доступные драйверы JDBC с помощью следующих средств:
- Системное свойство
jdbc.drivers, содержащее разделённый двоеточиями список полных имён классов драйверов JDBC. Каждый драйвер загружается с помощью системного загрузчика классов:-
jdbc.drivers=foo.bah.Driver:wombat.sql.Driver:bad.taste.ourDriver
-
- Поставщики служб класса
java.sql.Driver, загружаемые с помощью механизма загрузки поставщиков служб.
- Примечание по реализации:
-
Инициализация
DriverManagerвыполняется отложенно, а поиск поставщиков служб — с помощью загрузчика классов контекста потока. Набор драйверов, загруженных и доступных приложению, зависит от загрузчика классов контекста потока, используемого потоком, который инициирует инициализацию драйверов посредствомDriverManager.При вызове метода
getConnectionобъектDriverManagerпопытается найти подходящий драйвер среди загруженных при инициализации и явно загруженных с помощью того же загрузчика классов, что и текущее приложение. - С версии:
- 1.1
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static void |
deregisterDriver |
Удаляет указанный драйвер из списка зарегистрированных драйверов объекта DriverManager. |
static Stream |
drivers() |
Возвращает Stream со всеми загруженными в данный момент драйверами JDBC, к которым у текущего вызывающего кода есть доступ. |
static Connection |
getConnection |
Пытается установить соединение с указанным URL базы данных. |
static Connection |
getConnection |
Пытается установить соединение с указанным URL базы данных. |
static Connection |
getConnection |
Пытается установить соединение с указанным URL базы данных. |
static Driver |
getDriver |
Пытается найти драйвер, поддерживающий указанный URL. |
static Enumeration |
getDrivers() |
Возвращает Enumeration со всеми загруженными в данный момент драйверами JDBC, к которым у текущего вызывающего кода есть доступ. |
static int |
getLoginTimeout() |
Возвращает максимальное время в секундах, в течение которого драйвер может ожидать при попытке входа в базу данных. |
static PrintStream |
getLogStream() |
Устарело. |
static PrintWriter |
getLogWriter() |
Возвращает средство записи журнала. |
static void |
println |
Выводит сообщение в текущий поток журнала JDBC. |
static void |
registerDriver |
Регистрирует указанный драйвер в DriverManager. |
static void |
registerDriver |
Регистрирует указанный драйвер в DriverManager. |
static void |
setLoginTimeout |
Задаёт максимальное время в секундах, в течение которого драйвер будет ожидать при попытке подключиться к базе данных после идентификации драйвера. |
static void |
setLogStream |
Устарело. Используйте setLogWriter
|
static void |
setLogWriter |
Задаёт объект PrintWriter для ведения журнала и трассировки, используемый объектом DriverManager и всеми драйверами. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого объекта Object. |
int |
hashCode() |
Возвращает значение хеш-кода для этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Переводит текущий поток в ожидание до его пробуждения, обычно посредством вызова notify или interrupt. |
final void |
wait |
Переводит текущий поток в ожидание до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Переводит текущий поток в ожидание до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание методов
getLogWriter
public static PrintWriter getLogWriter()
get/setlogStream следует использовать методы getLogWriter и setLogWriter.- Возвращает:
- объект
java.io.PrintWriter - С версии:
- 1.2
- См. также:
setLogWriter
public static void setLogWriter(PrintWriter out)
PrintWriter для ведения журнала и трассировки, используемый объектом DriverManager и всеми драйверами.- Параметры:
-
out— новый объектPrintStreamдля ведения журнала и трассировки;nullотключает ведение журнала и трассировку - С версии:
- 1.2
- См. также:
getConnection
public static Connection getConnection(String url, Properties info) throws SQLException
DriverManager пытается выбрать подходящий драйвер из набора зарегистрированных драйверов JDBC. Примечание: Если свойство указано в составе url и также указано в объекте Properties, приоритет того или иного значения определяется реализацией. Для максимальной переносимости приложению следует указывать каждое свойство только один раз.
- Параметры:
-
url— URL базы данных форматаjdbc:subprotocol:subname -
info— список произвольных пар «строковый тег/значение» в качестве аргументов подключения; обычно следует указать как минимум свойства "user" и "password" - Возвращает:
- соединение с URL
- Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или URLnull -
SQLTimeoutException— если драйвер установил, что превышено значение времени ожидания, заданное методомsetLoginTimeout, и как минимум попытался отменить текущую попытку подключения к базе данных
getConnection
public static Connection getConnection(String url, String user, String password) throws SQLException
DriverManager пытается выбрать подходящий драйвер из набора зарегистрированных драйверов JDBC. Примечание: Если свойства user или password также указаны в составе url, приоритет того или иного значения определяется реализацией. Для максимальной переносимости приложению следует указывать каждое свойство только один раз.
- Параметры:
-
url— URL базы данных форматаjdbc:subprotocol:subname -
user— пользователь базы данных, от имени которого устанавливается соединение -
password— пароль пользователя - Возвращает:
- соединение с URL
- Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или URLnull -
SQLTimeoutException— если драйвер установил, что превышено значение времени ожидания, заданное методомsetLoginTimeout, и как минимум попытался отменить текущую попытку подключения к базе данных
getConnection
public static Connection getConnection(String url) throws SQLException
DriverManager пытается выбрать подходящий драйвер из набора зарегистрированных драйверов JDBC.- Параметры:
-
url— URL базы данных форматаjdbc:subprotocol:subname - Возвращает:
- соединение с URL
- Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или URLnull -
SQLTimeoutException— если драйвер установил, что превышено значение времени ожидания, заданное методомsetLoginTimeout, и как минимум попытался отменить текущую попытку подключения к базе данных
getDriver
public static Driver getDriver(String url) throws SQLException
DriverManager пытается выбрать подходящий драйвер из набора зарегистрированных драйверов JDBC.- Параметры:
-
url— URL базы данных форматаjdbc:subprotocol:subname - Возвращает:
- объект
Driver, представляющий драйвер, способный подключиться к указанному URL - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных
registerDriver
public static void registerDriver(Driver driver) throws SQLException
DriverManager. Вновь загруженный класс драйвера должен вызвать метод registerDriver, чтобы сообщить о себе объекту DriverManager. Если драйвер уже зарегистрирован, никаких действий не выполняется.- Параметры:
-
driver— новый драйвер JDBC, который необходимо зарегистрировать вDriverManager - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных -
NullPointerException— еслиdriverимеет значение null
registerDriver
public static void registerDriver(Driver driver, DriverAction da) throws SQLException
DriverManager. Вновь загруженный класс драйвера должен вызвать метод registerDriver, чтобы сообщить о себе объекту DriverManager. Если драйвер уже зарегистрирован, никаких действий не выполняется.- Параметры:
-
driver— новый драйвер JDBC, который необходимо зарегистрировать вDriverManager -
da— реализацияDriverAction, используемая при вызовеDriverManager#deregisterDriver - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных -
NullPointerException— еслиdriverимеет значение null - С версии:
- 1.8
deregisterDriver
public static void deregisterDriver(Driver driver) throws SQLException
DriverManager. Если для удаляемого драйвера указано значение null, никаких действий не выполняется.
Если указанный драйвер не найден в списке зарегистрированных драйверов, никаких действий не выполняется. Если драйвер найден, он будет удалён из списка зарегистрированных драйверов.
Если при регистрации драйвера JDBC был указан экземпляр DriverAction, его метод deregister будет вызван до удаления драйвера из списка зарегистрированных драйверов.
- Параметры:
-
driver— удаляемый драйвер JDBC - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных
getDrivers
public static Enumeration<Driver> getDrivers()
Примечание: Имя класса драйвера можно получить с помощью d.getClass().getName()
- Возвращает:
- список драйверов JDBC, загруженных загрузчиком классов вызывающего кода
- См. также:
drivers
public static Stream<Driver> drivers()
- Возвращает:
- поток драйверов JDBC, загруженных загрузчиком классов вызывающего кода
- С версии:
- 9
setLoginTimeout
public static void setLoginTimeout(int seconds)
- Параметры:
-
seconds— ограничение времени входа в секундах; ноль означает отсутствие ограничения - См. также:
getLoginTimeout
public static int getLoginTimeout()
- Возвращает:
- ограничение времени входа в систему для драйвера в секундах
- См. также:
setLogStream
@Deprecated(since="1.2") public static void setLogStream(PrintStream out)
setLogWriter
DriverManager и всеми драйверами.- Параметры:
-
out— новый PrintStream для ведения журнала и трассировки; чтобы отключить, задайтеnull - См. также:
getLogStream
@Deprecated(since="1.2") public static PrintStream getLogStream()
getLogWriter
DriverManager и всеми драйверами.- Возвращает:
- PrintStream для ведения журнала и трассировки; если отключено, возвращается
null - См. также:
println
public static void println(String message)
- Параметры:
-
message— сообщение журнала или трассировки
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
getLogWriter