Пакет 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. При использовании этих меток "since" в комментариях Javadoc для API JDBC они обозначают следующее:
- 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-- сопоставление для SQL-типаARRAY -
Интерфейс
Blob-- сопоставление для SQL-типаBLOB -
Интерфейс
Clob-- сопоставление для SQL-типаCLOB -
Класс
Date-- сопоставление для SQL-типаDATE -
Интерфейс
NClob-- сопоставление для SQL-типаNCLOB -
Интерфейс
Ref-- сопоставление для SQL-типаREF -
Интерфейс
RowId-- сопоставление для SQL-типаROWID -
Интерфейс
Struct-- сопоставление для SQL-типаSTRUCT -
Интерфейс
SQLXML-- сопоставление для SQL-типаXML -
Класс
Time-- сопоставление для SQL-типаTIME -
Класс
Timestamp-- сопоставление для SQL-типаTIMESTAMP -
Класс
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для определения поддержки фрагментации - Добавлен метод
driversк классуDriverManagerдля возвращения потока загруженных и доступных JDBC-драйверов - Добавлена поддержка в
Statementдля цитирования литералов и простых идентификаторов - Уточнены версии Java SE, в которых методы были устаревшими
Функции java.sql и javax.sql, введённые в API JDBC 4.2
- Добавлен перечисление
JDBCTypeи интерфейсSQLType - Поддержка
REF CURSORSвCallableStatement -
Методы
DatabaseMetaDataдля возвращения максимального размера логического LOB и поддержки курсоров ссылок - Добавлена поддержка больших счётчиков обновлений
Функции 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 -- больше не нужно загружать класс
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
- Скроллируемые наборы результатов — использование новых методов в интерфейсе
ResultSet, которые позволяют перемещать курсор на определённую строку или в позицию, относительную к текущей позиции - Партии обновлений
- Программные обновления — использование методов обновляющего класса
ResultSet - Новые типы данных — интерфейсы, отображающие типы данных SQL3
- Настраиваемое отображение пользовательских типов (UDT)
- Различные функции, включая подсказки производительности, использование потоков символов, полную точность для значений
java.math.BigDecimal, дополнительную безопасность и поддержку часовых поясов для значений даты, времени и временных меток.
javax.sql Функции, представленные в API необязательного пакета JDBC 2.0
- Интерфейс
DataSourceкак способ создания подключения. Java Naming and Directory Interface (JNDI) используется для регистрации объектаDataSourceв службе именования и для его получения. - Пулы подключений — позволяющие использовать и повторно использовать подключения
- Распределённые транзакции — позволяющие транзакции охватывать различные серверы СУБД
-
RowSetтехнология — предоставляющая удобный способ обработки и передачи данных
Настраиваемое отображение UDT
Пользовательский тип (UDT), определённый в SQL, может быть сопоставлен с классом на языке Java. SQL структурированный тип или SQLDISTINCT тип являются UDT, которые могут быть настраиваемо отображены. Для настройки отображения выполняется три шага: - Определение SQL структурированного типа или
DISTINCTтипа в SQL - Определение класса на языке программирования Java, которому будет сопоставлен SQL UDT. Этот класс должен реализовывать интерфейс
SQLData. - Внесение записи в карту типов объекта
Connection, которая содержит две вещи:- полное квалифицированное имя UDT в SQL
- объект
Classдля класса, реализующего интерфейсSQLData
После выполнения этих шагов для UDT, вызов методов ResultSet.getObject или CallableStatement.getObject для этого UDT автоматически получит настраиваемое отображение. Также метод PreparedStatement.setObject автоматически сопоставит объект обратно с его типом SQL для хранения его в источнике данных.
Спецификация пакета
Связанная документация
- Урок: Основы JDBC (Java Tutorials > Доступ к базам данных JDBC)
- «JDBC API Tutorial and Reference, Third Edition»
- Since:
- 1.1
| Класс | Описание |
|---|---|
| Array | Сопоставление в языке программирования Java для типа SQL ARRAY. |
| BatchUpdateException | Подкласс SQLException, выбрасываемый при возникновении ошибки во время операции пакетного обновления. |
| Blob | Представление (сопоставление) в языке программирования Java значения SQL BLOB. |
| CallableStatement | Интерфейс, используемый для выполнения хранимых процедур SQL. |
| ClientInfoStatus | Перечисление статусов причин, по которым свойство не может быть установлено с помощью вызова Connection.setClientInfo
|
| Clob | Сопоставление в языке программирования Java для типа SQL CLOB. |
| 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 | Сопоставление в языке программирования Java для типа SQL NCLOB. |
| ParameterMetaData | Объект, который можно использовать для получения информации о типах и свойствах для каждого маркера параметра в объекте PreparedStatement. |
| PreparedStatement | Объект, представляющий предварительно скомпилированное SQL-предложение. |
| PseudoColumnUsage | Перечисление для использования псевдо/скрытых столбцов. |
| Ref | Сопоставление в языке программирования Java значения SQL REF, являющегося ссылкой на значение SQL-структурированного типа в базе данных. |
| ResultSet | Таблица данных, представляющая результирующий набор базы данных, который обычно генерируется выполнением запроса к базе данных. |
| ResultSetMetaData | Объект, который можно использовать для получения информации о типах и свойствах столбцов в объекте ResultSet. |
| RowId | Представление (сопоставление) в языке программирования Java значения SQL ROWID. |
| RowIdLifetime | Перечисление значений срока жизни RowId. |
| Savepoint | Представление сохраняемой точки, которая представляет собой точку в текущей транзакции, на которую можно сослаться из метода Connection.rollback. |
| ShardingKey | Интерфейс, используемый для указания того, что этот объект представляет собой фрагментирующий ключ. |
| ShardingKeyBuilder | Библиотека, созданная из объекта DataSource или XADataSource, используемая для создания ShardingKey с подключами поддерживаемых типов данных. |
| SQLClientInfoException | Подкласс SQLException выбрасывается, когда одно или несколько свойств клиентской информации не могут быть установлены в Connection. |
| SQLData | Интерфейс, используемый для пользовательского сопоставления SQL-типа данных пользователя (UDT) с классом в языке программирования Java. |
| SQLDataException | Подкласс SQLException, выбрасываемый, когда значение SQLState равно '22', или в условиях, определенных поставщиком. |
| SQLException | Исключение, которое предоставляет информацию об ошибке доступа к базе данных или других ошибках. |
| SQLFeatureNotSupportedException | Подкласс SQLException, выбрасываемый, когда значение SQLState равно '0A' (значение равно 'ноль' A). |
| SQLInput | Поток ввода, содержащий поток значений, представляющих экземпляр SQL-структурированного типа или SQL-типа distinct. |
| 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 | Сопоставление в языке программирования JavaTM для типа SQL XML. |
| Statement | Объект, используемый для выполнения статического SQL-запроса и возврата полученных результатов. |
| Struct | Стандартное сопоставление в языке программирования Java для структурированного типа SQL. |
| Time | Тонкая оболочка вокруг класса java.util.Date, позволяющая JDBC API идентифицировать это как значение SQL TIME. |
| Timestamp | Тонкая оболочка вокруг java.util.Date, позволяющая JDBC API идентифицировать это как значение 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://download.java.net/java/early_access/jdk24/docs/api/java.sql/java/sql/package-summary.html