Spec-Zone.ru › OpenJDK 25

Класс DriverManager

java.lang.Object
java.sql.DriverManager
public class DriverManager extends Object
Основная служба для управления набором драйверов JDBC.

ПРИМЕЧАНИЕ: Интерфейс 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
См. также:
  • Driver
  • Connection

Краткое описание методов

Модификатор и тип Метод Описание
static void deregisterDriver(Driver driver)
Удаляет указанный драйвер из списка зарегистрированных драйверов в DriverManager.
static Stream<Driver> drivers()
Возвращает Stream со всеми загруженными в данный момент драйверами 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()
Возвращает Enumeration со всеми загруженными в данный момент драйверами 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)
Задает объект PrintWriter для ведения журнала/трассировки, используемый DriverManager и всеми драйверами.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание методов

getLogWriter

public static PrintWriter getLogWriter()
Возвращает средство записи журнала. Вместо устаревших методов get/setlogStream следует использовать методы getLogWriter и setLogWriter.
Возвращает:
объект java.io.PrintWriter
С версии:
1.2
См. также:
  • setLogWriter(PrintWriter)

setLogWriter

public static void setLogWriter(PrintWriter out)
Задает объект PrintWriter для ведения журнала/трассировки, используемый DriverManager и всеми драйверами.
Параметры:
out — новый объект PrintStream для ведения журнала/трассировки; null, чтобы отключить ведение журнала и трассировку
С версии:
1.2
См. также:
  • 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
Выбрасывает:
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 — 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()
Возвращает Enumeration со всеми загруженными в данный момент драйверами JDBC, к которым имеет доступ текущий вызывающий код.

Примечание: Имя класса драйвера можно получить с помощью d.getClass().getName()

Возвращает:
список драйверов JDBC, загруженных загрузчиком классов вызывающего кода
См. также:
  • drivers()

drivers

public static Stream<Driver> drivers()
Возвращает Stream со всеми загруженными в данный момент драйверами 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
Задает PrintStream для ведения журнала/трассировки, используемый DriverManager и всеми драйверами.
Параметры:
out — новый PrintStream для ведения журнала/трассировки; чтобы отключить, задайте null
См. также:
  • getLogStream()

getLogStream

@Deprecated(since="1.2") public static PrintStream getLogStream()
Устарело.
Используйте getLogWriter
Возвращает PrintStream для ведения журнала/трассировки, используемый DriverManager и всеми драйверами.
Возвращает:
PrintStream для ведения журнала/трассировки; если ведение журнала отключено, возвращается null
См. также:
  • setLogStream(PrintStream)

println

public static void println(String message)
Выводит сообщение в текущий поток журнала JDBC.
Параметры:
message — сообщение журнала или трассировки

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.sql/java/sql/DriverManager.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API