Пакет java.sql
Предоставляет API для доступа и обработки данных, хранящихся в источнике данных (обычно реляционной базе данных), используя язык программирования JavaTM.
См.: Описание
| Интерфейс | Описание |
|---|---|
| Array | Сопоставление в языке программирования Java для типа SQL |
| Blob | Представление (сопоставление) в языке программирования Java™ значения SQL |
| CallableStatement | Интерфейс, используемый для выполнения хранимых процедур SQL. |
| Clob | Сопоставление в языке программирования Java™ для типа SQL |
| Connection | Соединение (сессия) со специфической базой данных. |
| DatabaseMetaData | Полноценная информация о базе данных в целом. |
| Driver | Интерфейс, который должен реализовывать каждый класс драйвера. |
| DriverAction | Интерфейс, который должен быть реализован, когда драйвер Driver хочет получать уведомления от |
| NClob | Сопоставление в языке программирования Java™ для типа SQL |
| ParameterMetaData | Объект, который может быть использован для получения информации о типах и свойствах для каждого маркера параметра в объекте |
| PreparedStatement | Объект, представляющий предопределенное SQL-утверждение. |
| Ref | Сопоставление в языке программирования Java значения SQL |
| ResultSet | Таблица данных, представляющая результат набора данных базы данных, который обычно генерируется при выполнении запроса к базе данных. |
| ResultSetMetaData | Объект, который может быть использован для получения информации о типах и свойствах столбцов в объекте |
| RowId | Представление (сопоставление) в языке программирования Java значения SQL ROWID. |
| Savepoint | Представление сохраняемой точки, которая является точкой в текущей транзакции, на которую можно сослаться из метода |
| SQLData | Интерфейс, используемый для пользовательского сопоставления SQL-типа данных пользователя (UDT) с классом в языке программирования Java. |
| SQLInput | Поток ввода, содержащий поток значений, представляющий экземпляр SQL-структурированного типа или SQL-типа. |
| SQLOutput | Поток вывода для записи атрибутов типа пользователя обратно в базу данных. |
| SQLType | Объект, используемый для идентификации обобщенного SQL-типа, называемого типом JDBC или типом данных, специфичным для поставщика. |
| SQLXML | Сопоставление в языке программирования Java™ для типа SQL XML. |
| Statement | Объект, используемый для выполнения статического SQL-утверждения и возвращения результатов, которые оно производит. |
| Struct | Стандартное сопоставление в языке программирования Java для SQL-структурированного типа. |
| Wrapper | Интерфейс для классов JDBC, который предоставляет возможность извлечения экземпляра делегата, когда экземпляр является фактически классом-прокси. |
| Класс | Описание |
|---|---|
| Date | Тонкий обертка вокруг значения в миллисекундах, который позволяет JDBC идентифицировать его как значение SQL |
| DriverManager | Основной сервис для управления набором драйверов JDBC. |
| DriverPropertyInfo | Свойства драйвера для создания соединения. |
| SQLPermission | Разрешение, которое |
| Time | Тонкая обертка вокруг класса |
| Timestamp | Тонкая обертка вокруг |
| Types | Класс, определяющий константы, используемые для идентификации общих типов SQL, называемых типами JDBC. |
| Перечисление | Описание |
|---|---|
| ClientInfoStatus | Перечисление статуса причины, по которой свойство не может быть установлено при вызове |
| JDBCType | Определяет константы, используемые для идентификации общих типов SQL, называемых типами JDBC. |
| PseudoColumnUsage | Перечисление для использования псевдо/скрытых столбцов. |
| RowIdLifetime | Перечисление для значений срока действия RowId. |
| Исключение | Описание |
|---|---|
| BatchUpdateException | Подкласс |
| DataTruncation | Исключение, сбрасываемое как исключение |
| SQLClientInfoException | Подкласс |
| SQLDataException | Подкласс |
| SQLException | Исключение, предоставляющее информацию об ошибке доступа к базе данных или других ошибках. |
| SQLFeatureNotSupportedException | Подкласс |
| SQLIntegrityConstraintViolationException | Подкласс |
| SQLInvalidAuthorizationSpecException | Подкласс |
| SQLNonTransientConnectionException | Подкласс |
| SQLNonTransientException | Подкласс |
| SQLRecoverableException | Подкласс |
| SQLSyntaxErrorException | Подкласс |
| SQLTimeoutException | Подкласс |
| SQLTransactionRollbackException | Подкласс |
| SQLTransientConnectionException | Подкласс |
| SQLTransientException | Подкласс |
| SQLWarning | Исключение, предоставляющее информацию о предупреждениях доступа к базе данных. |
Описание пакета java.sql
Предоставляет API для доступа и обработки данных, хранящихся в источнике данных (обычно реляционной базе данных), используя язык программирования JavaTM. Этот API включает в себя фреймворк, посредством которого различные драйверы могут быть установлены динамически для доступа к различным источникам данных. Хотя API JDBCTM в основном ориентирован на передачу SQL-запросов базе данных, он обеспечивает чтение и запись данных из любого источника данных с табличной структурой. Модуль чтения/записи, доступный через группу интерфейсов javax.sql.RowSet, может быть настроен для использования и обновления данных из электронных таблиц, плоских файлов или любого другого источника данных с табличной структурой.
Что включает в себя API JDBCTM 4.2
API JDBCTM 4.2 включает в себя как пакетjava.sql, называемый ядром JDBC API, так и пакет javax.sql, называемый API необязательного пакета JDBC. Этот полный API JDBC включен в JavaTM Standard Edition (Java SETM) версии 7. Пакет javax.sql расширяет функциональность API JDBC от клиентского API до серверного API и является неотъемлемой частью технологии JavaTM Enterprise Edition (Java EETM).
Версии
API JDBC 4.2 включает все предыдущие версии API JDBC:- API JDBC 4.1
- API JDBC 4.0
- API JDBC 3.0
- Ядро API JDBC 2.1
- API необязательного пакета JDBC 2.0
(Обратите внимание, что API JDBC 2.1 ядро и API необязательного пакета JDBC 2.0 вместе называются API JDBC 2.0.) - API JDBC 1.2
- API JDBC 1.0
Классы, интерфейсы, методы, поля, конструкторы и исключения имеют теги «since», которые указывают, когда они были введены в платформу Java. Когда эти теги «since» используются в комментариях JavadocTM для API JDBC, они означают следующее:
- Since 1.8 — новый в API JDBC 4.2 и входит в платформу Java SE версии 8
- Since 1.7 — новый в API JDBC 4.1 и входит в платформу Java SE версии 7
- Since 1.6 — новый в API JDBC 4.0 и входит в платформу Java SE версии 6
- Since 1.4 — новый в API JDBC 3.0 и входит в платформу J2SE версии 1.4
- Since 1.2 — новый в API JDBC 2.0 и входит в платформу J2SE версии 1.2
- Since 1.1 или без тега «since» — в оригинальном API JDBC 1.0 и входит в JDKTM версии 1.1
ПРИМЕЧАНИЕ: Многие новые функции являются необязательными; в результате существуют некоторые различия в драйверах и поддерживаемых ими функциях. Всегда проверяйте документацию вашего драйвера, чтобы убедиться, что он поддерживает функцию, прежде чем пытаться ее использовать.
ПРИМЕЧАНИЕ: Класс SQLPermission был добавлен в JavaTM 2 SDK, Standard Edition, в выпуске версии 1.3. Этот класс используется для предотвращения несанкционированного доступа к потоку регистрации, связанному с DriverManager, который может содержать информацию, такую как имена таблиц, данные столбцов и так далее.
Что содержит пакет java.sql
Пакет java.sql содержит API для следующего: - Установление соединения с базой данных через механизм
DriverManager-
Класс
DriverManager— устанавливает соединение с драйвером -
Класс
SQLPermission— предоставляет разрешения, когда код, выполняемый внутри Security Manager, например, апплет, пытается настроить поток логирования черезDriverManager -
Интерфейс
Driver— предоставляет API для регистрации и подключения драйверов на основе технологии JDBC («драйверы JDBC»); обычно используется только классомDriverManager -
Класс
DriverPropertyInfo— предоставляет свойства для драйвера JDBC; не используется обычным пользователем
-
Класс
- Отправка SQL-запросов в базу данных
-
Statement— используется для отправки основных SQL-запросов -
PreparedStatement— используется для отправки подготовленных запросов или основных SQL-запросов (производных отStatement) -
CallableStatement— используется для вызова хранимых процедур базы данных (производных отPreparedStatement) -
Интерфейс
Connection— предоставляет методы для создания запросов и управления соединениями и их свойствами -
Savepoint— предоставляет контрольные точки в транзакции
-
- Извлечение и обновление результатов запроса
-
Интерфейс
ResultSet
-
Интерфейс
- Стандартные соответствия типов SQL классам и интерфейсам языка программирования Java
-
Интерфейс
Array— соответствие для SQLARRAY -
Интерфейс
Blob— соответствие для SQLBLOB -
Интерфейс
Clob— соответствие для SQLCLOB -
Класс
Date— соответствие для SQLDATE -
Интерфейс
NClob— соответствие для SQLNCLOB -
Интерфейс
Ref— соответствие для SQLREF -
Интерфейс
RowId— соответствие для SQLROWID -
Интерфейс
Struct— соответствие для SQLSTRUCT -
Интерфейс
SQLXML— соответствие для SQLXML -
Класс
Time— соответствие для SQLTIME -
Класс
Timestamp— соответствие для SQLTIMESTAMP -
Класс
Types— предоставляет константы для типов SQL
-
Интерфейс
- Настройка соответствия пользовательскому типу данных SQL (UDT) классу на языке программирования Java
-
Интерфейс
SQLData— определяет соответствие UDT экземпляру этого класса -
Интерфейс
SQLInput— предоставляет методы для чтения атрибутов UDT из потока -
Интерфейс
SQLOutput— предоставляет методы для записи атрибутов UDT обратно в поток
-
Интерфейс
- Метаданные
-
Интерфейс
DatabaseMetaData— предоставляет информацию о базе данных -
Интерфейс
ResultSetMetaData— предоставляет информацию о столбцах объектаResultSet -
Интерфейс
ParameterMetaData— предоставляет информацию о параметрах командPreparedStatement
-
Интерфейс
- Исключения
-
SQLException— выбрасывается большинством методов при проблемах доступа к данным и некоторыми методами по другим причинам -
SQLWarning— выбрасывается для указания предупреждения -
DataTruncation— выбрасывается для указания того, что данные могли быть усечены -
BatchUpdateException— выбрасывается для указания того, что не все команды в пакетном обновлении были выполнены успешно
-
Функции java.sql и javax.sql, введенные в API JDBC 4.2
- Добавлен перечисление
JDBCTypeи интерфейсSQLType - Поддержка
REF CURSORSвCallableStatement -
Методы
DatabaseMetaDataдля возвращения максимального логического размера LOB и поддержки курсоров Ref - Добавлена поддержка больших значений количества обновлений
Функции java.sql и javax.sql, введенные в API JDBC 4.1
- Возможность использования объектов
Connection,ResultSetиStatementв операторе try-with-resources - Добавлены методы в
CallableStatementиResultSetдля указания типа Java, в который нужно преобразовать, с помощью методаgetObject -
Методы
DatabaseMetaDataдля возвращения PseudoColumns и проверки, всегда ли возвращается сгенерированный ключ - Добавлена поддержка в
Connectionдля указания схемы базы данных, прерывания и ограничения времени физического соединения. - Добавлена поддержка закрытия объекта
Statement, когда связанные объекты закрыты - Поддержка получения родительского логгера для
Driver,DataSource,ConnectionPoolDataSourceиXADataSource
Функции java.sql и javax.sql, введенные в API JDBC 4.0
- Автоматическое обнаружение драйверов java.sql.Driver — больше не нужно загружать класс
java.sql.DriverчерезClass.forName - Добавлена поддержка национальных наборов символов
- Добавлена поддержка типа данных XML SQL:2003
- Улучшения SQLException — Добавлена поддержка цепочки причин; Добавлено новые SQLException для общих кодов состояний SQLState
- Улучшенная функциональность Blob/Clob — Добавлена поддержка создания и освобождения экземпляра Blob/Clob, а также дополнительные методы для повышения доступности
- Добавлена поддержка доступа к SQL ROWID
- Добавлена поддержка доступа JDBC-приложения к экземпляру JDBC-ресурса, обернутого поставщиком, обычно в среде приложения сервера или пула соединений.
- Возможность получения уведомления, когда
PreparedStatementассоциированный сPooledConnectionзакрыт или драйвер определяет его как недопустимый
Функции java.sql и javax.sql, введенные в API JDBC 3.0
- Пулы запросов — повторное использование запросов, связанных с подключением из пула
- Контрольные точки — возможность отката транзакции к заданной контрольной точке
- Свойства для
ConnectionPoolDataSource— определяют, как соединений должны быть сгруппированы в пул - Метаданные для параметров объекта
PreparedStatement - Возможность извлечения значений из автоматически сгенерированных столбцов
- Возможность получения нескольких объектов
ResultSetиз объектовCallableStatementоткрытых одновременно - Возможность идентификации параметров объектов
CallableStatementпо имени и по индексу -
Управление курсором
ResultSet— возможность определить, должны ли курсоры оставаться открытыми или закрываться в конце транзакции - Возможность извлечения и обновления экземпляра SQL-структурированного типа, на который ссылается объект
Ref - Возможность программного обновления значений
BLOB,CLOB,ARRAYиREF - Добавление типа данных
java.sql.Types.DATALINK— позволяет драйверам JDBC получить доступ к объектам, хранящимся за пределами источника данных - Добавление метаданных для извлечения иерархии типов SQL
Функции java.sql введенные в API JDBC 2.1 Core
- Прокручиваемые наборы результатов — использование новых методов в интерфейсе
ResultSet, которые позволяют перемещать курсор на определённую строку или в позицию относительно текущей позиции - Партионные обновления
- Программные обновления — использование методов обновлений
ResultSet - Новые типы данных — интерфейсы, сопоставляющие типы данных SQL3
- Настройка сопоставления пользовательских типов (UDT)
- Разнообразные функции, включая подсказки производительности, использование символьных потоков, полную точность для значений
java.math.BigDecimal, дополнительную безопасность и поддержку часовых поясов для значений даты, времени и временных меток.
Функции, представленные в API пакета JDBC 2.0 (опционально)
- Интерфейс
DataSourceв качестве средства подключения. Java Naming and Directory InterfaceTM (JNDI) используется для регистрации объектаDataSourceв службе именования и для его получения. - Пулы подключений — возможность использования и повторного использования подключений
- Распределённые транзакции — возможность транзакции, охватывающей различные серверы СУБД
-
Технология
RowSet— предоставление удобного способа обработки и передачи данных
Настройка сопоставления UDT
Пользовательский тип (UDT), определённый в SQL, может быть сопоставлен с классом в языке программирования Java. SQL-структурный тип или SQL-DISTINCT тип являются UDT, которые могут быть настроены. Следующие три шага настраивают сопоставление: - Определение SQL-структурного типа или
DISTINCTтипа в SQL - Определение класса на языке программирования Java, к которому будет сопоставлен SQL UDT. Этот класс должен реализовывать интерфейс
SQLData - Внесение записи в карту типов объекта
Connection, содержащую две вещи:- полное квалифицированное имя UDT в SQL
- объект
Classдля класса, реализующего интерфейсSQLData
После выполнения этих шагов для UDT, вызов методов ResultSet.getObject или CallableStatement.getObject для этого UDT автоматически извлечёт настроенное сопоставление. Также метод PreparedStatement.setObject автоматически сопоставит объект обратно с его SQL-типом для хранения в источнике данных.
- С тех пор:
- 1.1
© 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.