Интерфейс драйвера
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
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
acceptsURL |
Получает, считает ли драйвер, что может открыть подключение к заданному URL. |
Connection |
connect |
Пытается установить подключение к базе данных по заданному URL. |
int |
getMajorVersion() |
Возвращает номер основной версии драйвера. |
int |
getMinorVersion() |
Получает номер дополнительной версии драйвера. |
Logger |
getParentLogger() |
Возвращает родительский логгер всех логгеров, используемых этим драйвером. |
DriverPropertyInfo[] |
getPropertyInfo |
Получает информацию о возможных свойствах для этого драйвера. |
boolean |
jdbcCompliant() |
Сообщает, является ли этот драйвер настоящим драйвером JDBC. |
Подробное описание методов
connect
Connection connect(String url, Properties info) throws SQLException
Драйвер должен бросить SQLException, если это правильный драйвер для подключения к заданному URL, но испытывает трудности с подключением к базе данных.
Аргумент Properties может быть использован для передачи произвольных пар тег/значение как аргументы подключения. Обычно в объект Properties должны быть включены как минимум свойства "user" и "password".
Примечание: Если свойство указано как часть url и также указано в объекте Properties, определяется реализацией, какое значение будет иметь приоритет. Для максимальной портативности приложение должно указывать свойство только один раз.
- Параметры:
-
url- URL базы данных, к которой необходимо подключиться -
info- список произвольных пар тег/значение как аргументы подключения. Обычно должны быть включены как минимум свойства "user" и "password". - Возвращает:
- объект
Connection, представляющий подключение к URL - Исключения:
-
SQLException- если произошла ошибка доступа к базе данных или URLnull
acceptsURL
boolean acceptsURL(String url) throws SQLException
true, если они понимают подпротокол, указанный в URL, и false, если нет.- Параметры:
-
url- URL базы данных - Возвращает:
-
trueесли этот драйвер понимает данный URL;falseв противном случае - Исключения:
-
SQLException- если произошла ошибка доступа к базе данных или URLnull
getPropertyInfo
DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException
Метод getPropertyInfo предназначен для того, чтобы позволить универсальному инструменту GUI обнаружить, какие свойства ему следует запросить у пользователя, чтобы получить достаточно информации для подключения к базе данных. Обратите внимание, что в зависимости от введённых пользователем значений могут потребоваться дополнительные значения, поэтому может потребоваться выполнить несколько вызовов метода getPropertyInfo.
- Параметры:
-
url- URL базы данных, к которой необходимо подключиться -
info- предлагаемый список пар тег/значение, которые будут отправлены при подключении - Возвращает:
- массив объектов
DriverPropertyInfo, описывающих возможные свойства. Этот массив может быть пустым массивом, если свойства не требуются. - Исключения:
-
SQLException- если произошла ошибка доступа к базе данных
getMajorVersion
int getMajorVersion()
- Возвращает:
- номер основной версии этого драйвера
getMinorVersion
int getMinorVersion()
- Возвращает:
- номер дополнительной версии этого драйвера
jdbcCompliant
boolean jdbcCompliant()
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. - Since:
- 1.7
© 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/Driver.html