Spec-Zone.ru › OpenJDK 24

Класс DriverManager

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

ПРИМЕЧАНИЕ: Интерфейс DataSource предоставляет другой способ подключения к источнику данных. Использование объекта DataSource является предпочтительным способом подключения к источнику данных.

В качестве части своей инициализации класс DriverManager попытается загрузить доступные драйверы JDBC, используя:

  • Свойство системы jdbc.drivers, которое содержит список, разделенный двоеточием, полных квалифицированных имён классов драйверов JDBC. Каждый драйвер загружается с помощью системного загрузчика классов system class loader:
    • 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)
Устанавливает объект журнала/отслеживания PrintWriter, который используется DriverManager и всеми драйверами.

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

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

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

getLogWriter

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

setLogWriter

public static void setLogWriter(PrintWriter out)
Устанавливает объект ведения журнала/отслеживания, используемый классом DriverManager и всеми драйверами.
Параметры:
out - новый объект ведения журнала/отслеживания; 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 некорректен
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 некорректен
SQLTimeoutException - когда драйвер определил, что значение таймаута, указанное методом setLoginTimeout, было превышено, и по крайней мере попытался отменить текущую попытку подключения к базе данных

getConnection

public static Connection getConnection(String url) throws SQLException
Попытка установить соединение с указанной базой данных по URL. DriverManager пытается выбрать подходящий драйвер из набора зарегистрированных JDBC-драйверов.
Параметры:
url - URL базы данных в формате jdbc:subprotocol:subname
Возвращает:
соединение с URL
Исключения:
SQLException - если произошла ошибка доступа к базе данных или URL некорректен
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()
Возвращает перечисление всех загруженных в данный момент JDBC-драйверов, к которым имеет доступ текущий вызывающий код.

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

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

drivers

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

getLogStream

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

println

public static void println(String message)
Выводит сообщение в текущий поток журнала JDBC.
Параметры:
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.
https://download.java.net/java/early_access/jdk24/docs/api/java.sql/java/sql/DriverManager.html

Spec-Zone.ru

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