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

public interface Driver

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

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

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

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

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

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

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

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

Since:
1.1
See Also:
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. Это будет часто встречаться, так как когда менеджер драйверов JDBC просит подключиться к заданному URL, он передает URL каждому загруженному драйверу по очереди.

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

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

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

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

acceptsURL

boolean acceptsURL(String url)
            throws SQLException

Определяет, считает ли драйвер, что он может открыть подключение к заданному URL. Обычно драйверы возвращают true, если они понимают подпротокол, указанный в URL, и false, если нет.

Parameters:
url - URL базы данных
Returns:
true если этот драйвер понимает данный URL; false в противном случае
Throws:
SQLException - если произошла ошибка доступа к базе данных или URL null

getPropertyInfo

DriverPropertyInfo[] getPropertyInfo(String url,
                                     Properties info)
                              throws SQLException

Получает информацию о возможных свойствах для этого драйвера.

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

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

getMajorVersion

int getMajorVersion()

Возвращает номер основной версии драйвера. Изначально он должен быть 1.

Returns:
номер основной версии этого драйвера

getMinorVersion

int getMinorVersion()

Возвращает номер дополнительной версии драйвера. Изначально он должен быть 0.

Returns:
номер дополнительной версии этого драйвера

jdbcCompliant

boolean jdbcCompliant()

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

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

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

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

getParentLogger

Logger getParentLogger()
                throws SQLFeatureNotSupportedException

Возвращает родительский логгер всех логгеров, используемых этим драйвером. Это должен быть логгер, наиболее удаленный от корневого логгера, который всё ещё является предком всех логгеров, используемых этим драйвером. Настройка этого логгера повлияет на все сообщения лога, сгенерированные драйвером. В худшем случае это может быть корневой логгер.

Returns:
родительский логгер для этого драйвера
Throws:
SQLFeatureNotSupportedException - если драйвер не использует java.util.logging.
Since:
1.7

© 1993, 2020, 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/11/docs/api/java.sql/java/sql/Driver.html

Spec-Zone .ru
спецификации, руководства, описания, API