Пакет java.sql
javax.sql.RowSet, можно настроить для использования и обновления данных в электронной таблице, плоском файле или любом другом табличном источнике данных. Что входит в API JDBC 4.3
API JDBC 4.3 включает пакетjava.sql, называемый базовым API JDBC, и пакет javax.sql, называемый API дополнительного пакета JDBC. Этот полный API JDBC входит в Java Standard Edition (Java SE), версия 7. Пакет javax.sql расширяет функциональность API JDBC, превращая клиентский API в серверный API, и является важной частью технологии Java Enterprise Edition (Java EE). Версии
API JDBC 4.3 включает все предыдущие версии API JDBC:- API JDBC 4.2
- 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. В комментариях Javadoc для API JDBC эти теги "since" означают следующее:
- Since 9 -- добавлено в API JDBC 4.3 и входит в платформу Java SE, версия 9
- 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 и JDK, версия 1.1
ПРИМЕЧАНИЕ: Многие новые функции являются необязательными; поэтому драйверы и поддерживаемые ими функции могут различаться. Перед использованием функции всегда проверяйте документацию драйвера, чтобы убедиться, что он её поддерживает.
Содержимое пакета java.sql
Пакет java.sql содержит API для следующих задач: - Установление соединения с базой данных с помощью средства
DriverManager-
Класс
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.3
- Добавлена поддержка
Sharding - Расширен
Connection: теперь он позволяет передавать драйверу подсказки о начале или завершении запроса — независимой единицы работы - Расширен
DatabaseMetaDataдля определения поддержки сегментирования (Sharding) - Добавлен метод
driversвDriverManager, возвращающий поток текущих загруженных и доступных драйверов JDBC - Добавлена поддержка заключения литералов и простых идентификаторов в кавычки в
Statement - Уточнена версия Java SE, в которой методы были объявлены устаревшими
Функции 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для возврата псевдостолбцов и определения того, всегда ли возвращается сгенерированный ключ - Добавлена поддержка в
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 -- добавлена поддержка цепочки причин; добавлены новые SQLExceptions для распространённых кодов значений классов 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
- Прокручиваемые результирующие наборы -- использование новых методов интерфейса
ResultSet, позволяющих переместить курсор к определённой строке или в позицию относительно текущей - Пакетные обновления
- Программные обновления -- использование методов обновления
ResultSet - Новые типы данных -- интерфейсы, сопоставляющие типы SQL3
- Пользовательское сопоставление пользовательских типов (UDT)
- Различные функции, включая подсказки по производительности, использование символьных потоков, полную точность значений
java.math.BigDecimal, дополнительные средства защиты и поддержку часовых поясов в значениях даты, времени и временной метки.
Функции javax.sql, добавленные в API дополнительного пакета JDBC 2.0
- Интерфейс
DataSourceдля установления соединения. Интерфейс именования и каталогов Java (JNDI) используется для регистрации объектаDataSourceв службе именования, а также для его получения. - Пул соединений -- возможность использовать соединения повторно
- Распределённые транзакции -- возможность охватить одной транзакцией несколько серверов СУБД
-
Технология
RowSet-- удобное средство обработки и передачи данных
Пользовательское сопоставление UDT
Определяемый пользователем тип (UDT), заданный в SQL, можно сопоставить с классом языка программирования Java. Структурированный тип SQL или тип SQLDISTINCT — это UDT, которые можно сопоставить пользовательским образом. Пользовательское сопоставление настраивается в три этапа: - Определение структурированного типа SQL или типа
DISTINCTв SQL - Определение класса языка программирования Java, с которым будет сопоставлен UDT SQL. Этот класс должен реализовывать интерфейс
SQLData. - Добавление записи в карту типов объекта
Connection, содержащей две составляющие:- полное имя UDT в SQL
- объект
Classдля класса, реализующего интерфейсSQLData
После настройки этих параметров для UDT вызов методов ResultSet.getObject или CallableStatement.getObject для этого UDT автоматически получит пользовательское сопоставление. Кроме того, метод PreparedStatement.setObject автоматически сопоставит объект с его типом SQL для сохранения в источнике данных.
Спецификация пакета
Связанная документация
- Урок: основы JDBC (учебные материалы Java > доступ к базам данных JDBC)
- «Руководство и справочник по API JDBC, третье издание»
- Начиная с:
- 1.1
| Класс | Описание |
|---|---|
| Array | Сопоставление типа SQL ARRAY в языке программирования Java. |
| BatchUpdateException | Подкласс SQLException, выбрасываемый при возникновении ошибки во время пакетного обновления. |
| Blob | Представление (сопоставление) значения SQL BLOB в языке программирования Java. |
| CallableStatement | Интерфейс для выполнения хранимых процедур SQL. |
| ClientInfoStatus | Перечисление статусов, указывающих причину, по которой не удалось задать свойство с помощью вызова Connection.setClientInfo
|
| Clob | Сопоставление типа SQL CLOB в языке программирования Java. |
| Connection | Соединение (сеанс) с конкретной базой данных. |
| ConnectionBuilder | Построитель, созданный на основе объекта DataSource и используемый для установления соединения с базой данных, которую представляет объект data source. |
| DatabaseMetaData | Полные сведения о базе данных в целом. |
| DataTruncation | Исключение, выбрасываемое как исключение DataTruncation (при записи) или регистрируемое как предупреждение DataTruncation (при чтении), если значение данных неожиданно усекается по причинам, не связанным с превышением MaxFieldSize. |
| Date | Упрощённая оболочка для значения в миллисекундах, позволяющая JDBC идентифицировать его как значение SQL DATE. |
| Driver | Интерфейс, который должен реализовывать каждый класс драйвера. |
| DriverAction | Интерфейс, который должен реализовать драйвер Driver, если он хочет получать уведомления от DriverManager. |
| DriverManager | Основная служба для управления набором драйверов JDBC. |
| DriverPropertyInfo | Свойства драйвера для установления соединения. |
| JDBCType | Определяет константы для идентификации общих типов SQL, называемых типами JDBC. |
| NClob | Сопоставление типа SQL NCLOB в языке программирования Java. |
| ParameterMetaData | Объект, с помощью которого можно получить сведения о типах и свойствах каждого маркера параметра в объекте PreparedStatement. |
| PreparedStatement | Объект, представляющий предварительно скомпилированную инструкцию SQL. |
| PseudoColumnUsage | Перечисление способов использования псевдостолбцов и скрытых столбцов. |
| Ref | Сопоставление значения SQL REF в языке программирования Java; это значение является ссылкой на значение структурированного типа SQL в базе данных. |
| ResultSet | Таблица данных, представляющая результирующий набор базы данных, который обычно формируется при выполнении инструкции, запрашивающей данные из базы данных. |
| ResultSetMetaData | Объект, с помощью которого можно получить сведения о типах и свойствах столбцов объекта ResultSet. |
| RowId | Представление (сопоставление) значения SQL ROWID в языке программирования Java. |
| RowIdLifetime | Перечисление значений срока действия RowId. |
| Savepoint | Представление точки сохранения — точки в текущей транзакции, на которую можно сослаться из метода Connection.rollback. |
| ShardingKey | Интерфейс, указывающий, что этот объект представляет ключ сегментирования (Sharding Key). |
| ShardingKeyBuilder | Построитель, созданный на основе объекта DataSource или XADataSource и используемый для создания ShardingKey с подчинёнными ключами поддерживаемых типов данных. |
| SQLClientInfoException | Подкласс SQLException, выбрасываемый, если не удалось задать одно или несколько свойств клиентской информации для объекта Connection. |
| SQLData | Интерфейс для пользовательского сопоставления определяемого пользователем типа SQL (UDT) с классом языка программирования Java. |
| SQLDataException | Подкласс SQLException, выбрасываемый, если значение класса SQLState равно '22' или при условиях, заданных поставщиком. |
| SQLException | Исключение, предоставляющее сведения об ошибке доступа к базе данных или других ошибках. |
| SQLFeatureNotSupportedException | Подкласс SQLException, выбрасываемый, если значение класса SQLState равно '0A' (значение — «ноль» A). |
| SQLInput | Входной поток, содержащий поток значений, представляющих экземпляр структурированного типа SQL или отличного типа SQL. |
| SQLIntegrityConstraintViolationException | Подкласс SQLException, выбрасываемый, если значение класса SQLState равно '23' или при условиях, заданных поставщиком. |
| SQLInvalidAuthorizationSpecException | Подкласс SQLException, выбрасываемый, если значение класса SQLState равно '28' или при условиях, заданных поставщиком. |
| SQLNonTransientConnectionException | Подкласс SQLException, выбрасываемый для значения класса SQLState '08' или при условиях, заданных поставщиком. |
| SQLNonTransientException | Подкласс SQLException, выбрасываемый в ситуации, когда повтор той же операции завершится неудачей, если не устранить причину SQLException. |
| SQLOutput | Выходной поток для записи атрибутов определяемого пользователем типа обратно в базу данных. |
| SQLPermission | Объект SQLPermission содержит имя (также называемое «целевым именем»), но не содержит списка действий; разрешение либо существует для указанного имени, либо нет. |
| SQLRecoverableException | Подкласс SQLException, выбрасываемый в ситуациях, когда ранее неудачная операция может завершиться успешно, если приложение выполнит некоторые действия по восстановлению и повторит всю транзакцию или, в случае распределённой транзакции, её ветвь. |
| SQLSyntaxErrorException | Подкласс SQLException, выбрасываемый, если значение класса SQLState равно '42' или при условиях, заданных поставщиком. |
| SQLTimeoutException | Подкласс SQLException, выбрасываемый по истечении времени ожидания, заданного параметрами Statement.setQueryTimeout, DriverManager.setLoginTimeout, DataSource.setLoginTimeout,XADataSource.setLoginTimeout. |
| SQLTransactionRollbackException | Подкласс SQLException, выбрасываемый, если значение класса SQLState равно '40' или при условиях, заданных поставщиком. |
| SQLTransientConnectionException | Подкласс SQLException, выбрасываемый для значения класса SQLState '08' или при условиях, заданных поставщиком. |
| SQLTransientException | Подкласс SQLException, выбрасываемый в ситуациях, когда ранее неудачная операция может завершиться успешно при повторной попытке без вмешательства функций уровня приложения. |
| SQLType | Объект для идентификации общего типа SQL, называемого типом JDBC, или специфичного для поставщика типа данных. |
| SQLWarning | Исключение, предоставляющее сведения о предупреждениях при доступе к базе данных. |
| SQLXML | Сопоставление типа SQL XML в языке программирования JavaTM. |
| Statement | Объект для выполнения статической инструкции SQL и возврата полученных результатов. |
| Struct | Стандартное сопоставление структурированного типа SQL в языке программирования Java. |
| Time | Упрощённая оболочка для класса java.util.Date, позволяющая API JDBC идентифицировать его как значение SQL TIME. |
| Timestamp | Упрощённая оболочка для java.util.Date, позволяющая API JDBC идентифицировать его как значение SQL TIMESTAMP. |
| Types | Класс, определяющий константы для идентификации общих типов SQL, называемых типами JDBC. |
| Wrapper | Интерфейс для классов JDBC, предоставляющих возможность получить делегированный экземпляр, если рассматриваемый экземпляр фактически является классом-прокси. |
© 1993, 2025, 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/25/docs/api/java.sql/java/sql/package-summary.html