Spec-Zone.ru › OpenJDK 17

Класс 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()
Возвращает поток со всеми текущими загруженными драйверами 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 и всеми драйверами.

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

Параметры:
out - новый объект ведения/отслеживания логов; null для отключения ведения логов и отслеживания
Исключение:
SecurityException - если менеджер безопасности существует, и его метод checkPermission отклоняет разрешение на установку записи логов.
С тех пор как:
1.2
См. также:
  • SecurityManager.checkPermission(java.security.Permission)
  • getLogWriter()

getConnection

public static Connection getConnection(String url, Properties info) throws SQLException
Попытка установить соединение с указанной базой данных по URL. Драйвер JDBC пытается выбрать соответствующий драйвер из набора зарегистрированных драйверов JDBC.

Примечание: Если свойство указано в части url, и также указано в объекте Properties, то приоритет значения определяется реализацией. Для максимальной переносимости приложение должно указывать свойство только один раз.

Параметры:
url - URL базы данных в формате jdbc:subprotocol:subname
info - список произвольных пар тег/значение в качестве аргументов соединения; обычно должен быть включён, по крайней мере, пользователь и пароль
Возвращает:
соединение с URL
Исключение:
SQLException - если произошла ошибка доступа к базе данных или URL некорректен
SQLTimeoutException - когда драйвер определил, что значение таймаута, указанное методом setLoginTimeout, превышено, и, по крайней мере, пытался отменить текущую попытку подключения к базе данных

getConnection

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

getDriver

public static Driver getDriver(String url) throws SQLException
Попытка найти драйвер, понимающий указанный URL. Драйвер JDBC пытается выбрать соответствующий драйвер из набора зарегистрированных драйверов 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, 2021, 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/17/docs/api/java.sql/java/sql/DriverManager.html

Spec-Zone.ru

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