Класс 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<Driver> |
drivers() |
Возвращает поток со всеми текущими загруженными драйверами JDBC, к которым имеет доступ текущий вызывающий элемент. |
static Connection |
getConnection |
Попытка установить подключение к указанной базе данных URL. |
static Connection |
getConnection |
Попытка установить подключение к указанной базе данных URL. |
static Connection |
getConnection |
Попытка установить подключение к указанной базе данных URL. |
static Driver |
getDriver |
Попытка найти драйвер, понимающий указанный URL. |
static Enumeration<Driver> |
getDrivers() |
Возвращает перечисление со всеми текущими загруженными драйверами 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 и всеми драйверами. |
Подробное описание методов
getLogWriter
public static PrintWriter getLogWriter()
getLogWriter и setLogWriter, а не устаревшие get/setlogStream.- Возвращает:
- объект
java.io.PrintWriter - С тех пор как:
- 1.2
- См. также:
setLogWriter
public static void setLogWriter(PrintWriter out)
DriverManager и всеми драйверами. Если существует менеджер безопасности, его метод checkPermission сначала вызывается с разрешением SQLPermission("setLog"), чтобы проверить, разрешено ли вызывающему объекту вызывать setLogWriter.
- Параметры:
-
out- новый объект ведения/отслеживания логов;nullдля отключения ведения логов и отслеживания - Исключение:
-
SecurityException- если менеджер безопасности существует, и его методcheckPermissionотклоняет разрешение на установку записи логов. - С тех пор как:
- 1.2
- См. также:
getConnection
public static Connection getConnection(String url, Properties info) throws SQLException
Примечание: Если свойство указано в части 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
Примечание: Если свойство 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- URL базы данных в форматеjdbc:subprotocol:subname - Возвращает:
- соединение с URL
- Исключение:
-
SQLException- если произошла ошибка доступа к базе данных или URL некорректен -
SQLTimeoutException- когда драйвер определил, что значение таймаута, указанное методомsetLoginTimeout, превышено, и, по крайней мере, пытался отменить текущую попытку подключения к базе данных
getDriver
public static Driver getDriver(String url) throws SQLException
- Параметры:
-
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отклоняет разрешение на дерегистрацию драйвера. - См. также:
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()
- Возвращает:
- предельный срок входа в систему драйвера в секундах
- См. также:
Установить поток вывода журнала
@Deprecated(since="1.2") public static void setLogStream(PrintStream out)
setLogWriter
DriverManager и всеми драйверами. Если существует менеджер безопасности, его метод checkPermission вызывается в первую очередь с разрешением SQLPermission("setLog"), чтобы проверить, разрешено ли вызывающему объекту вызвать setLogStream.
- Параметры:
-
out- новый поток вывода PrintStream для ведения журнала/отслеживания; для отключения, установите в значениеnull - Исключения:
-
SecurityException- если существует менеджер безопасности, и его методcheckPermissionотказывается предоставить разрешение на установку потока вывода журнала. - См. также:
Получить поток вывода журнала
@Deprecated(since="1.2") public static PrintStream getLogStream()
getLogWriter
DriverManager и всеми драйверами.- Возвращает:
- поток вывода PrintStream для ведения журнала/отслеживания; если отключен, возвращает
null - См. также:
println
public static void println(String message)
- Параметры:
-
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
getLogWriter