Spec-Zone.ru › OpenJDK 8

Пакет java.sql

Предоставляет API для доступа и обработки данных, хранящихся в источнике данных (обычно реляционной базе данных), используя язык программирования JavaTM.

См.: Описание

Интерфейс Описание
Array

Сопоставление в языке программирования Java для типа SQL ARRAY.

Blob

Представление (сопоставление) в языке программирования Java™ значения SQL BLOB.

CallableStatement

Интерфейс, используемый для выполнения хранимых процедур SQL.

Clob

Сопоставление в языке программирования Java™ для типа SQL CLOB.

Connection

Соединение (сессия) со специфической базой данных.

DatabaseMetaData

Полноценная информация о базе данных в целом.

Driver

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

DriverAction

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

NClob

Сопоставление в языке программирования Java™ для типа SQL NCLOB.

ParameterMetaData

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

PreparedStatement

Объект, представляющий предопределенное SQL-утверждение.

Ref

Сопоставление в языке программирования Java значения SQL REF, которое является ссылкой на значение SQL-структурированного типа в базе данных.

ResultSet

Таблица данных, представляющая результат набора данных базы данных, который обычно генерируется при выполнении запроса к базе данных.

ResultSetMetaData

Объект, который может быть использован для получения информации о типах и свойствах столбцов в объекте ResultSet.

RowId

Представление (сопоставление) в языке программирования Java значения SQL ROWID.

Savepoint

Представление сохраняемой точки, которая является точкой в текущей транзакции, на которую можно сослаться из метода Connection.rollback.

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 DATE.

DriverManager

Основной сервис для управления набором драйверов JDBC.
ПРИМЕЧАНИЕ: Интерфейс DataSource, новый в API JDBC 2.0, предоставляет другой способ подключения к источнику данных.

DriverPropertyInfo

Свойства драйвера для создания соединения.

SQLPermission

Разрешение, которое SecurityManager будет проверять, когда код, выполняющий приложение с SecurityManager включенным, вызывает метод DriverManager.deregisterDriver, метод DriverManager.setLogWriter, метод DriverManager.setLogStream (устаревший), метод SyncFactory.setJNDIContext, метод SyncFactory.setLogger, метод Connection.setNetworktimeout или метод Connection.abort.

Time

Тонкая обертка вокруг класса java.util.Date, которая позволяет API JDBC идентифицировать его как значение SQL TIME.

Timestamp

Тонкая обертка вокруг java.util.Date, которая позволяет API JDBC идентифицировать его как значение SQL TIMESTAMP.

Types

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

Перечисление Описание
ClientInfoStatus

Перечисление статуса причины, по которой свойство не может быть установлено при вызове Connection.setClientInfo.

JDBCType

Определяет константы, используемые для идентификации общих типов SQL, называемых типами JDBC.

PseudoColumnUsage

Перечисление для использования псевдо/скрытых столбцов.

RowIdLifetime

Перечисление для значений срока действия RowId.

Исключение Описание
BatchUpdateException

Подкласс SQLException, выбрасываемый при ошибке во время операции пакетного обновления.

DataTruncation

Исключение, сбрасываемое как исключение DataTruncation (при записи) или сообщается как предупреждение DataTruncation (при чтении), когда значение данных неожиданно усекается по причинам, отличным от превышения MaxFieldSize.

SQLClientInfoException

Подкласс SQLException выбрасывается, когда одно или несколько свойств информации клиента не могут быть установлены для Connection.

SQLDataException

Подкласс SQLException, выбрасываемый, когда значение SQLState равно '22' или при условиях, определенных поставщиком.

SQLException

Исключение, предоставляющее информацию об ошибке доступа к базе данных или других ошибках.

SQLFeatureNotSupportedException

Подкласс SQLException, выбрасываемый, когда значение SQLState равно '0A'.

SQLIntegrityConstraintViolationException

Подкласс SQLException, выбрасываемый, когда значение SQLState равно '23' или при условиях, определенных поставщиком.

SQLInvalidAuthorizationSpecException

Подкласс SQLException, выбрасываемый, когда значение SQLState равно '28' или при условиях, определенных поставщиком.

SQLNonTransientConnectionException

Подкласс SQLException, выбрасываемый для значения SQLState '08' или при условиях, определенных поставщиком.

SQLNonTransientException

Подкласс SQLException, выбрасываемый, когда повторение операции приведет к ошибке, если причина SQLException не будет исправлена.

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, выбрасываемый в ситуациях, когда ранее неудачная операция может быть успешной при повторном её выполнении без вмешательства функциональности уровня приложения.

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 — соответствие для 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.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, которые могут быть настроены. Следующие три шага настраивают сопоставление:
  1. Определение SQL-структурного типа или DISTINCT типа в SQL
  2. Определение класса на языке программирования Java, к которому будет сопоставлен SQL UDT. Этот класс должен реализовывать интерфейс SQLData
  3. Внесение записи в карту типов объекта 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API