Spec-Zone.ru › OpenJDK 21

Интерфейс драйвера

public interface Driver
Интерфейс, который должен реализовывать каждый класс драйвера.

Фреймворк Java SQL позволяет использовать несколько драйверов баз данных.

Каждый драйвер должен предоставить класс, реализующий интерфейс Driver.

DriverManager попытается загрузить как можно больше драйверов, а затем, для каждого запроса на подключение, он попросит каждый драйвер в свою очередь попытаться подключиться к целевому URL.

Сильно рекомендуется, чтобы каждый класс Driver был небольшим и автономным, чтобы класс Driver можно было загрузить и запросить без подключения к огромному количеству вспомогательного кода.

При загрузке класса Driver он должен создать экземпляр самого себя и зарегистрировать его в DriverManager. Это означает, что пользователь может загрузить и зарегистрировать драйвер, вызвав:

Class.forName("foo.bah.Driver")

Драйвер JDBC может создать реализацию DriverAction, чтобы получать уведомления, когда DriverManager.deregisterDriver(java.sql.Driver) был вызван.

С момента:
1.1
См. также:
  • DriverManager
  • Connection
  • DriverAction

Краткое описание методов

Модификатор и тип Метод Описание
boolean acceptsURL(String url)
Определяет, может ли драйвер открыть соединение с данным URL.
Connection connect(String url, Properties info)
Попытка установить соединение с базой данных по заданному URL.
int getMajorVersion()
Возвращает номер основной версии драйвера.
int getMinorVersion()
Получает номер дополнительной версии драйвера.
Logger getParentLogger()
Возвращает родительский логгер всех логгеров, используемых этим драйвером.
DriverPropertyInfo[] getPropertyInfo(String url, Properties info)
Получает информацию о возможных свойствах для данного драйвера.
boolean jdbcCompliant()
Сообщает, является ли данный драйвер настоящим драйвером JDBC.

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

connect

Connection connect(String url, Properties info) throws SQLException
Попытка установить соединение с базой данных по заданному URL. Драйвер должен вернуть "null", если он понимает, что это не тот тип драйвера для подключения к заданному URL. Это будет часто происходить, так как при запросе подключения к заданному URL менеджер драйверов JDBC передает URL каждому загруженному драйверу по очереди.

Драйвер должен выбросить SQLException, если это правильный драйвер для подключения к данному URL, но возникают проблемы с подключением к базе данных.

Аргумент Properties может использоваться для передачи произвольных пар тег/значение в качестве аргументов подключения. Обычно в объект Properties должны быть включены, по крайней мере, свойства "user" и "password".

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

Параметры:
url - URL базы данных, к которой необходимо подключиться
info - список произвольных пар тег/значение в качестве аргументов подключения. Обычно должны быть включены по крайней мере свойства "user" и "password".
Возвращает:
объект Connection, представляющий соединение с URL
Исключение:
SQLException - если произошла ошибка доступа к базе данных или URL null

acceptsURL

boolean acceptsURL(String url) throws SQLException
Определяет, может ли драйвер открыть соединение с данным URL. Обычно драйверы возвращают true, если они понимают подпротокол, указанный в URL, и false, если они этого не понимают.
Параметры:
url - URL базы данных
Возвращает:
true если этот драйвер понимает данный URL; false в противном случае
Исключение:
SQLException - если произошла ошибка доступа к базе данных или URL null

getPropertyInfo

DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException
Получает информацию о возможных свойствах для этого драйвера.

Метод getPropertyInfo предназначен для того, чтобы позволить универсальному инструменту GUI обнаружить, какие свойства следует запросить у пользователя, чтобы получить достаточно информации для подключения к базе данных. Обратите внимание, что в зависимости от введенных до этого значений могут потребоваться дополнительные значения, поэтому может потребоваться выполнить несколько вызовов метода getPropertyInfo.

Параметры:
url - URL базы данных, к которой необходимо подключиться
info - предполагаемый список пар тег/значение, которые будут отправлены при открытии соединения
Возвращает:
массив объектов DriverPropertyInfo, описывающих возможные свойства. Этот массив может быть пустым массивом, если не требуется никаких свойств.
Исключение:
SQLException - если произошла ошибка доступа к базе данных

getMajorVersion

int getMajorVersion()
Возвращает номер основной версии драйвера. Изначально он должен быть равен 1.
Возвращает:
номер основной версии этого драйвера

getMinorVersion

int getMinorVersion()
Возвращает номер дополнительной версии драйвера. Изначально он должен быть равен 0.
Возвращает:
номер дополнительной версии этого драйвера

jdbcCompliant

boolean jdbcCompliant()
Сообщает, является ли данный драйвер настоящим драйвером JDBC. Драйвер может сообщить true только в том случае, если он прошёл тесты на соответствие стандарту JDBC; в противном случае он должен вернуть false.

Соответствие стандарту JDBC требует полной поддержки API JDBC и полной поддержки SQL 92 Entry Level. Ожидается, что драйверы, соответствующие стандарту JDBC, будут доступны для всех основных коммерческих баз данных.

Этот метод не предназначен для поощрения разработки драйверов, не соответствующих стандарту JDBC, но признаёт тот факт, что некоторые поставщики заинтересованы в использовании API и фреймворка JDBC для лёгких баз данных, которые не поддерживают полную функциональность базы данных, или для специальных баз данных, таких как базы данных для поиска информации по документам, где реализация SQL может не быть целесообразной.

Возвращает:
true если этот драйвер соответствует стандарту JDBC; false в противном случае

getParentLogger

Logger getParentLogger() throws SQLFeatureNotSupportedException
Возвращает родительский логгер всех логгеров, используемых этим драйвером. Это должен быть логгер, наиболее удалённый от корневого логгера, который всё ещё является предком всех логгеров, используемых этим драйвером. Настройка этого логгера повлияет на все сообщения журнала, генерируемые драйвером. В худшем случае это может быть корневой логгер.
Возвращает:
родительский логгер для этого драйвера
Исключение:
SQLFeatureNotSupportedException - если драйвер не использует java.util.logging.
С момента:
1.7

© 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/Driver.html

Spec-Zone.ru

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