Spec-Zone.ru › OpenJDK 21

Класс 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)
Устанавливает объект логгирования/отслеживания PrintWriter, используемый объектом DriverManager и всеми драйверами.

Если существует менеджер безопасности, то сначала вызывается его метод 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
Исключения:
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 для удаления драйвера, то никаких действий не выполняется.

Если менеджер безопасности существует, сначала вызывается его метод checkPermission с разрешением SQLPermission("deregisterDriver"), чтобы проверить, разрешено ли вызывающему объекту дезарегистрировать JDBC-драйвер.

Если указанный драйвер не найден в списке зарегистрированных драйверов, то никаких действий не выполняется. Если драйвер был найден, он будет удалён из списка зарегистрированных драйверов.

Если при регистрации JDBC-драйвера был указан экземпляр DriverAction, его метод deregister будет вызван до удаления драйвера из списка зарегистрированных драйверов.

Параметры:
driver - JDBC-драйвер для удаления
Исключения:
SQLException - если произошла ошибка доступа к базе данных
SecurityException - если менеджер безопасности существует, и его метод checkPermission отказывается предоставить разрешение на дезарегистрацию драйвера.
См. также:
  • SecurityManager.checkPermission(java.security.Permission)

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)

УстановитьПотокЛогов

@Deprecated(since="1.2") public static void setLogStream(PrintStream out)
Устаревшее.
Используйте setLogWriter
Устанавливает поток вывода PrintStream для ведения журналов/отслеживания, который используется DriverManager и всеми драйверами.

Если существует менеджер безопасности, его метод checkPermission сначала вызывается с разрешением SQLPermission("setLog"), чтобы проверить, разрешено ли вызывающему объекту вызывать setLogStream.

Параметры:
out - новый поток вывода PrintStream для ведения журналов/отслеживания; для отключения, установите значение null
Исключения:
SecurityException - если существует менеджер безопасности, и его метод checkPermission отказывает в разрешении на установку потока логов.
См. также:
  • SecurityManager.checkPermission(java.security.Permission)
  • 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, 2023, 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/21/docs/api/java.sql/java/sql/DriverManager.html

Spec-Zone.ru

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