Класс DriverManager
public class DriverManager extends Object
ПРИМЕЧАНИЕ: Интерфейс 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
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static void |
deregisterDriver |
Удаляет указанный драйвер из списка зарегистрированных драйверов DriverManager. |
static Stream |
drivers() |
Возвращает поток со всеми загруженными в настоящее время драйверами JDBC, к которым имеет доступ текущий вызывающий поток. |
static Connection |
getConnection |
Пытается установить соединение с указанным URL базы данных. |
static Connection |
getConnection |
Пытается установить соединение с указанным URL базы данных. |
static Connection |
getConnection |
Пытается установить соединение с указанным URL базы данных. |
static Driver |
getDriver |
Пытается найти драйвер, который понимает указанный URL. |
static Enumeration |
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)
PrintWriter, используемый объектом DriverManager и всеми драйверами. Если существует менеджер безопасности, то сначала вызывается его метод checkPermission с разрешением SQLPermission("setLog"), чтобы проверить, разрешено ли вызывающему объекту вызывать setLogWriter.
- Параметры:
-
out- новый объект логгирования/отслеживанияPrintStream;nullдля отключения логгирования и отслеживания - Исключения:
-
SecurityException- если существует менеджер безопасности, и его методcheckPermissionотказывается предоставить разрешение на установку записывающего объекта лога. - С:
- 1.2
- См. также:
getConnection
public static Connection getConnection(String url, Properties info) throws SQLException
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
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
DriverManager пытается выбрать соответствующий драйвер из набора зарегистрированных JDBC-драйверов.- Параметры:
-
url- URL базы данных в форматеjdbc:subprotocol:subname - Возвращает:
- соединение с URL
- Исключения:
-
SQLException- если произошла ошибка доступа к базе данных или URL являетсяnull -
SQLTimeoutException- когда драйвер определил, что значение таймаута, указанное методомsetLoginTimeout, истекло, и он по крайней мере попытался отменить текущую попытку соединения с базой данных
getDriver
public static Driver getDriver(String url) throws SQLException
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отказывается предоставить разрешение на дезарегистрацию драйвера. - См. также:
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, 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
getLogWriter