Интерфейс Connection
- Все суперинтерфейсы:
AutoCloseable, Wrapper
public interface Connection extends Wrapper, AutoCloseable
Соединение (сеанс) с определённой базой данных. Операторы SQL выполняются, а результаты возвращаются в контексте соединения.
База данных объекта Connection может предоставлять информацию, описывающую её таблицы, поддерживаемую грамматику SQL, хранимые процедуры, возможности этого соединения и т. д. Эта информация получается с помощью метода getMetaData.
Примечание: При настройке Connection JDBC-приложениям следует использовать соответствующий метод Connection, например setAutoCommit или setTransactionIsolation. Если доступен метод JDBC, приложениям не следует напрямую вызывать команды SQL для изменения конфигурации соединения. По умолчанию объект Connection находится в режиме автоматической фиксации, то есть автоматически фиксирует изменения после выполнения каждого оператора. Если режим автоматической фиксации отключён, для фиксации изменений необходимо явно вызвать метод commit; в противном случае изменения в базе данных не будут сохранены.
Новый объект Connection, созданный с использованием базового API JDBC 2.1, изначально связан с пустой картой типов. Пользователь может добавить в эту карту типов пользовательское сопоставление для UDT. Когда UDT извлекается из источника данных методом ResultSet.getObject, метод getObject проверяет карту типов соединения на наличие записи для этого UDT. Если такая запись есть, метод getObject сопоставит UDT с указанным классом. Если записи нет, UDT будет сопоставлен стандартным способом.
Пользователь может создать новую карту типов (объект java.util.Map), добавить в неё запись и передать её методам java.sql, которые выполняют пользовательское сопоставление. В этом случае метод будет использовать переданную карту типов вместо карты, связанной с соединением.
Например, следующий фрагмент кода указывает, что тип SQL ATHLETES будет сопоставлен классу Athletes в языке программирования Java. Фрагмент кода извлекает карту типов для объекта Connection
con, добавляет в неё запись, а затем задаёт карту типов с новой записью в качестве карты типов соединения.
java.util.Map map = con.getTypeMap();
map.put("mySchemaName.ATHLETES", Class.forName("Athletes"));
con.setTypeMap(map);
- Начиная с версии:
- 1.1
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
TRANSACTION_NONE |
Константа, указывающая, что транзакции не поддерживаются. |
static final int |
TRANSACTION_READ_COMMITTED |
Константа, указывающая, что чтение «грязных» данных предотвращено; возможны неповторяемое чтение и фантомное чтение. |
static final int |
TRANSACTION_READ_UNCOMMITTED |
Константа, указывающая, что возможно чтение «грязных» данных, неповторяемое чтение и фантомное чтение. |
static final int |
TRANSACTION_REPEATABLE_READ |
Константа, указывающая, что чтение «грязных» данных и неповторяемое чтение предотвращены; возможно фантомное чтение. |
static final int |
TRANSACTION_SERIALIZABLE |
Константа, указывающая, что чтение «грязных» данных, неповторяемое чтение и фантомное чтение предотвращены. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
abort |
Завершает открытое соединение. |
default void |
beginRequest() |
Уведомляет драйвер о том, что в этом соединении начинается запрос — независимая единица работы. |
void |
clearWarnings() |
Очищает все предупреждения, зарегистрированные для этого объекта Connection. |
void |
close() |
Немедленно освобождает ресурсы базы данных и JDBC, используемые этим объектом Connection, вместо того чтобы ожидать их автоматического освобождения. |
void |
commit() |
Окончательно фиксирует все изменения, внесённые после предыдущей фиксации или отката, и освобождает все блокировки базы данных, удерживаемые этим объектом Connection. |
Array |
createArrayOf |
Фабричный метод для создания объектов Array. |
Blob |
createBlob() |
Создаёт объект, реализующий интерфейс Blob. |
Clob |
createClob() |
Создаёт объект, реализующий интерфейс Clob. |
NClob |
createNClob() |
Создаёт объект, реализующий интерфейс NClob. |
SQLXML |
createSQLXML() |
Создаёт объект, реализующий интерфейс SQLXML. |
Statement |
createStatement() |
Создаёт объект Statement для отправки операторов SQL в базу данных. |
Statement |
createStatement |
Создаёт объект Statement, который будет формировать объекты ResultSet с указанными типом и режимом параллелизма. |
Statement |
createStatement |
Создаёт объект Statement, который будет формировать объекты ResultSet с указанными типом, режимом параллелизма и возможностью сохранения. |
Struct |
createStruct |
Фабричный метод для создания объектов Struct. |
default void |
endRequest() |
Уведомляет драйвер о завершении запроса — независимой единицы работы. |
default String |
enquoteIdentifier |
Возвращает simple SQL identifier или идентификатор с разделителями. |
default String |
enquoteLiteral |
Возвращает String, заключённый в одинарные кавычки. |
default String |
enquoteNCharLiteral |
Возвращает String, представляющий литерал национального набора символов, заключённый в одинарные кавычки и имеющий префикс в виде заглавной буквы N. |
boolean |
getAutoCommit() |
Возвращает текущий режим автоматической фиксации для этого объекта Connection. |
String |
getCatalog() |
Возвращает текущее имя каталога этого объекта Connection. |
Properties |
getClientInfo() |
Возвращает список, содержащий имя и текущее значение каждого поддерживаемого драйвером свойства клиентской информации. |
String |
getClientInfo |
Возвращает значение свойства клиентской информации, заданного по имени. |
int |
getHoldability() |
Возвращает текущую возможность сохранения объектов ResultSet, созданных с помощью этого объекта Connection. |
DatabaseMetaData |
getMetaData() |
Возвращает объект DatabaseMetaData, содержащий метаданные базы данных, с которой связан этот объект Connection. |
int |
getNetworkTimeout() |
Возвращает количество миллисекунд, в течение которых драйвер будет ожидать завершения запроса к базе данных. |
String |
getSchema() |
Возвращает текущее имя схемы этого объекта Connection. |
int |
getTransactionIsolation() |
Возвращает текущий уровень изоляции транзакций этого объекта Connection. |
Map |
getTypeMap() |
Возвращает объект Map, связанный с этим объектом Connection. |
SQLWarning |
getWarnings() |
Возвращает первое предупреждение, зарегистрированное при вызовах этого объекта Connection. |
boolean |
isClosed() |
Возвращает информацию о том, был ли закрыт этот объект Connection. |
boolean |
isReadOnly() |
Возвращает информацию о том, находится ли этот объект Connection в режиме «только для чтения». |
default boolean |
isSimpleIdentifier |
Возвращает информацию о том, является ли identifier простым идентификатором SQL. |
boolean |
isValid |
Возвращает true, если соединение не закрыто и остаётся действительным. |
String |
nativeSQL |
Преобразует указанный оператор SQL в собственную грамматику SQL системы. |
CallableStatement |
prepareCall |
Создаёт объект CallableStatement для вызова хранимых процедур базы данных. |
CallableStatement |
prepareCall |
Создаёт объект CallableStatement, который будет формировать объекты ResultSet с указанными типом и режимом параллелизма. |
CallableStatement |
prepareCall |
Создаёт объект CallableStatement, который будет формировать объекты ResultSet с указанными типом и режимом параллелизма. |
PreparedStatement |
prepareStatement |
Создаёт объект PreparedStatement для отправки параметризованных операторов SQL в базу данных. |
PreparedStatement |
prepareStatement |
Создаёт объект PreparedStatement по умолчанию, способный получать автоматически сгенерированные ключи. |
PreparedStatement |
prepareStatement |
Создаёт объект PreparedStatement по умолчанию, способный возвращать автоматически сгенерированные ключи, указанные в переданном массиве. |
PreparedStatement |
prepareStatement |
Создаёт объект PreparedStatement, который будет формировать объекты ResultSet с указанными типом и режимом параллелизма. |
PreparedStatement |
prepareStatement |
Создаёт объект PreparedStatement, который будет формировать объекты ResultSet с указанными типом, режимом параллелизма и возможностью сохранения. |
PreparedStatement |
prepareStatement |
Создаёт объект PreparedStatement по умолчанию, способный возвращать автоматически сгенерированные ключи, указанные в переданном массиве. |
void |
releaseSavepoint |
Удаляет указанный объект Savepoint и все последующие объекты Savepoint из текущей транзакции. |
void |
rollback() |
Отменяет все изменения, внесённые в текущей транзакции, и освобождает все блокировки базы данных, удерживаемые этим объектом Connection. |
void |
rollback |
Отменяет все изменения, внесённые после установки указанного объекта Savepoint. |
void |
setAutoCommit |
Устанавливает для этого соединения указанный режим автоматической фиксации. |
void |
setCatalog |
Задаёт указанное имя каталога, чтобы выбрать подпространство базы данных этого объекта Connection, в котором будет выполняться работа. |
void |
setClientInfo |
Задаёт для свойства клиентской информации, указанного по имени, значение, указанное параметром value. |
void |
setClientInfo |
Задаёт значения свойств клиентской информации соединения. |
void |
setHoldability |
Изменяет возможность сохранения по умолчанию для объектов ResultSet, созданных с помощью этого объекта Connection, на указанную. |
void |
setNetworkTimeout |
Задаёт максимальное время, в течение которого объект Connection или объекты, созданные с его помощью (Connection), будут ожидать ответа базы данных на отдельный запрос. |
void |
setReadOnly |
Переводит это соединение в режим «только для чтения», подсказывая драйверу включить оптимизацию базы данных. |
Savepoint |
setSavepoint() |
Создаёт в текущей транзакции точку сохранения без имени и возвращает новый объект Savepoint, представляющий её. |
Savepoint |
setSavepoint |
Создаёт в текущей транзакции точку сохранения с указанным именем и возвращает новый объект Savepoint, представляющий её. |
void |
setSchema |
Задаёт имя схемы для доступа. |
default void |
setShardingKey |
Задаёт shardingKey для использования с этим соединением Connection |
default void |
setShardingKey |
Задаёт shardingKey и superShardingKey для использования с этим соединением Connection |
default boolean |
setShardingKeyIfValid |
Задаёт и проверяет ключ сегментирования для этого соединения. |
default boolean |
setShardingKeyIfValid |
Задаёт и проверяет ключи сегментирования для этого соединения. |
void |
setTransactionIsolation |
Пытается изменить уровень изоляции транзакций этого объекта Connection на указанный. |
void |
setTypeMap |
Устанавливает указанный объект TypeMap в качестве карты типов для этого объекта Connection. |
Методы, объявленные в интерфейсе Wrapper
isWrapperFor, unwrap | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
isWrapperFor |
Возвращает true, если этот объект реализует интерфейс, переданный в качестве аргумента, либо прямо или косвенно является оболочкой объекта, который его реализует. |
<T> T |
unwrap |
Возвращает объект, реализующий указанный интерфейс, чтобы обеспечить доступ к нестандартным методам или стандартным методам, не предоставляемым прокси-объектом. |
Подробное описание полей
TRANSACTION_NONE
static final int TRANSACTION_NONE
- См. также:
TRANSACTION_READ_UNCOMMITTED
static final int TRANSACTION_READ_UNCOMMITTED
- См. также:
TRANSACTION_READ_COMMITTED
static final int TRANSACTION_READ_COMMITTED
- См. также:
TRANSACTION_REPEATABLE_READ
static final int TRANSACTION_REPEATABLE_READ
- См. также:
TRANSACTION_SERIALIZABLE
static final int TRANSACTION_SERIALIZABLE
TRANSACTION_REPEATABLE_READ, и дополнительно предотвращает ситуацию, когда одна транзакция считывает все строки, удовлетворяющие условию WHERE, вторая транзакция вставляет строку, удовлетворяющую этому условию WHERE, а первая транзакция повторно выполняет чтение с тем же условием и получает дополнительную «фантомную» строку при втором чтении.- См. также:
Подробное описание методов
createStatement
Statement createStatement() throws SQLException
Statement для отправки инструкций SQL в базу данных. Инструкции SQL без параметров обычно выполняются с помощью объектов Statement. Если одна и та же инструкция SQL выполняется много раз, эффективнее может быть использовать объект PreparedStatement. По умолчанию результирующие наборы, созданные с помощью возвращённого объекта Statement, будут иметь тип TYPE_FORWARD_ONLY и уровень параллелизма CONCUR_READ_ONLY. Способ удержания созданных результирующих наборов можно определить, вызвав getHoldability().
- Возвращает:
- новый объект
Statementс параметрами по умолчанию - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
prepareStatement
PreparedStatement prepareStatement(String sql) throws SQLException
PreparedStatement для отправки параметризованных инструкций SQL в базу данных. Инструкцию SQL с параметрами IN или без них можно предварительно скомпилировать и сохранить в объекте PreparedStatement. Затем этот объект можно использовать для эффективного многократного выполнения инструкции.
Примечание: Этот метод оптимизирован для обработки параметризованных инструкций SQL, которым полезна предварительная компиляция. Если драйвер поддерживает предварительную компиляцию, метод prepareStatement отправит инструкцию в базу данных для предварительной компиляции. Некоторые драйверы могут не поддерживать предварительную компиляцию. В этом случае инструкция может быть отправлена в базу данных только при выполнении объекта PreparedStatement. Это непосредственно не влияет на пользователей, однако влияет на то, какие методы выбрасывают определённые объекты SQLException.
По умолчанию результирующие наборы, созданные с помощью возвращённого объекта PreparedStatement, будут иметь тип TYPE_FORWARD_ONLY и уровень параллелизма CONCUR_READ_ONLY. Способ удержания созданных результирующих наборов можно определить, вызвав getHoldability().
- Параметры:
-
sql— инструкция SQL, которая может содержать один или несколько заполнителей параметров IN «?» - Возвращает:
- новый объект
PreparedStatementс параметрами по умолчанию, содержащий предварительно скомпилированную инструкцию SQL - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
prepareCall
CallableStatement prepareCall(String sql) throws SQLException
CallableStatement для вызова хранимых процедур базы данных. Объект CallableStatement предоставляет методы для настройки параметров IN и OUT, а также методы для выполнения вызова хранимой процедуры. Примечание: Этот метод оптимизирован для обработки инструкций вызова хранимых процедур. Некоторые драйверы могут отправлять инструкцию вызова в базу данных после завершения метода prepareCall; другие могут ждать выполнения объекта CallableStatement. Это непосредственно не влияет на пользователей, однако влияет на то, какой метод выбрасывает определённые исключения SQL.
По умолчанию результирующие наборы, созданные с помощью возвращённого объекта CallableStatement, будут иметь тип TYPE_FORWARD_ONLY и уровень параллелизма CONCUR_READ_ONLY. Способ удержания созданных результирующих наборов можно определить, вызвав getHoldability().
- Параметры:
-
sql— инструкция SQL, которая может содержать один или несколько заполнителей параметров «?». Обычно эта инструкция задаётся с использованием синтаксиса вызова JDBC. - Возвращает:
- новый объект
CallableStatementс параметрами по умолчанию, содержащий предварительно скомпилированную инструкцию SQL - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
nativeSQL
String nativeSQL(String sql) throws SQLException
- Параметры:
-
sql— инструкция SQL, которая может содержать один или несколько заполнителей параметров «?» - Возвращает:
- собственную форму этой инструкции
- Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
setAutoCommit
void setAutoCommit(boolean autoCommit) throws SQLException
commit или метода rollback. По умолчанию новые соединения находятся в режиме автоподтверждения. Фиксация происходит после завершения инструкции. Момент завершения инструкции зависит от типа инструкции SQL:
- Для инструкций DML, таких как Insert, Update или Delete, и инструкций DDL инструкция завершается сразу после окончания её выполнения.
- Для инструкций Select инструкция завершается после закрытия связанного результирующего набора.
- Для объектов
CallableStatementили инструкций, возвращающих несколько результатов, инструкция завершается после закрытия всех связанных результирующих наборов и получения всех счётчиков обновлений и выходных параметров.
ПРИМЕЧАНИЕ: Если этот метод вызван во время транзакции и режим автоподтверждения изменён, транзакция фиксируется. Если вызывается setAutoCommit и режим автоподтверждения не меняется, вызов не выполняет никаких действий.
- Параметры:
-
autoCommit—trueдля включения режима автоподтверждения;falseдля его отключения - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных, setAutoCommit(true) вызван во время участия в распределённой транзакции или этот метод вызван для закрытого соединения - См. также:
getAutoCommit
boolean getAutoCommit() throws SQLException
Connection.- Возвращает:
- текущее состояние режима автоподтверждения этого объекта
Connection - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения - См. также:
commit
void commit() throws SQLException
Connection. Этот метод следует использовать только при отключённом режиме автоподтверждения.- Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных, этот метод вызван во время участия в распределённой транзакции, для закрытого соединения или если этот объектConnectionнаходится в режиме автоподтверждения - См. также:
rollback
void rollback() throws SQLException
Connection. Этот метод следует использовать только при отключённом режиме автоподтверждения.- Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных, этот метод вызван во время участия в распределённой транзакции, для закрытого соединения или если этот объектConnectionнаходится в режиме автоподтверждения - См. также:
close
void close() throws SQLException
Connection, не дожидаясь их автоматического освобождения. Вызов метода close для уже закрытого объекта Connection не выполняет никаких действий.
Настоятельно рекомендуется явно зафиксировать или откатить активную транзакцию перед вызовом метода close. Если вызывается метод close при наличии активной транзакции, результат определяется реализацией.
- Определено в:
-
closeв интерфейсеAutoCloseable - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных
isClosed
boolean isClosed() throws SQLException
Connection. Соединение считается закрытым, если для него был вызван метод close или произошли определённые фатальные ошибки. Гарантируется, что этот метод вернёт true только в том случае, если он вызван после вызова метода Connection.close. Обычно этот метод нельзя использовать для определения того, является ли соединение с базой данных действительным. Типичное клиентское приложение может определить недействительность соединения, перехватив исключения, которые могут возникнуть при попытке выполнить операцию.
- Возвращает:
-
true, если этот объектConnectionзакрыт;false, если он всё ещё открыт - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных
getMetaData
DatabaseMetaData getMetaData() throws SQLException
DatabaseMetaData, содержащий метаданные о базе данных, с которой связан этот объект Connection. Метаданные включают сведения о таблицах базы данных, поддерживаемом синтаксисе SQL, хранимых процедурах, возможностях этого соединения и т. д.- Возвращает:
- объект
DatabaseMetaDataдля этого объектаConnection - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
setReadOnly
void setReadOnly(boolean readOnly) throws SQLException
Примечание: Этот метод нельзя вызывать во время транзакции.
- Параметры:
-
readOnly—trueвключает режим «только чтение»;falseотключает его - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных, этот метод вызван для закрытого соединения или во время транзакции
isReadOnly
boolean isReadOnly() throws SQLException
Connection в режиме «только чтение».- Возвращает:
-
true, если этот объектConnectionдоступен только для чтения; в противном случае —false - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
setCatalog
void setCatalog(String catalog) throws SQLException
Connection для работы. Если драйвер не поддерживает каталоги, он молча проигнорирует этот запрос.
Вызов setCatalog не влияет на ранее созданные или подготовленные объекты Statement. Определение того, выполняется ли операция подготовки DBMS сразу при вызове метода Connection, prepareStatement или prepareCall, зависит от реализации. Для максимальной переносимости setCatalog следует вызывать до создания или подготовки объекта Statement.
- Параметры:
-
catalog— имя каталога (подпространства базы данных этого объектаConnection), в котором следует работать - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения - См. также:
getCatalog
String getCatalog() throws SQLException
Connection.- Возвращает:
- текущее имя каталога или
null, если каталог отсутствует - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения - См. также:
setTransactionIsolation
void setTransactionIsolation(int level) throws SQLException
Connection на указанный. Возможные уровни изоляции транзакций — это константы, определённые в интерфейсе Connection. Примечание: Если этот метод вызван во время транзакции, результат определяется реализацией.
- Параметры:
-
level— одна из следующих константConnection:Connection.TRANSACTION_READ_UNCOMMITTED,Connection.TRANSACTION_READ_COMMITTED,Connection.TRANSACTION_REPEATABLE_READилиConnection.TRANSACTION_SERIALIZABLE. (Обратите внимание, чтоConnection.TRANSACTION_NONEиспользовать нельзя, поскольку она указывает, что транзакции не поддерживаются.) - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных, этот метод вызван для закрытого соединения или указанный параметр не является одной из константConnection - См. также:
getTransactionIsolation
int getTransactionIsolation() throws SQLException
Connection.- Возвращает:
- текущий уровень изоляции транзакций, который будет одной из следующих констант:
Connection.TRANSACTION_READ_UNCOMMITTED,Connection.TRANSACTION_READ_COMMITTED,Connection.TRANSACTION_REPEATABLE_READ,Connection.TRANSACTION_SERIALIZABLEилиConnection.TRANSACTION_NONE. - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения - См. также:
getWarnings
SQLWarning getWarnings() throws SQLException
Connection. Если предупреждений несколько, последующие предупреждения будут связаны с первым и их можно получить, вызвав метод SQLWarning.getNextWarning для предупреждения, полученного ранее. Этот метод нельзя вызывать для закрытого соединения; такой вызов приведёт к выбрасыванию SQLException.
Примечание: Последующие предупреждения будут связаны с этим SQLWarning.
- Возвращает:
- первый объект
SQLWarningилиnull, если предупреждений нет - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения - См. также:
clearWarnings
void clearWarnings() throws SQLException
Connection. После вызова этого метода метод getWarnings возвращает null, пока для этого объекта Connection не будет сообщено новое предупреждение.- Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
createStatement
Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException
Statement, который будет формировать объекты ResultSet с указанными типом и уровнем параллелизма. Этот метод аналогичен приведённому выше методу createStatement, но позволяет переопределить тип и уровень параллелизма результирующего набора по умолчанию. Способ удержания созданных результирующих наборов можно определить, вызвав getHoldability().- Параметры:
-
resultSetType— тип результирующего набора:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVEилиResultSet.TYPE_SCROLL_SENSITIVE -
resultSetConcurrency— тип параллелизма:ResultSet.CONCUR_READ_ONLYилиResultSet.CONCUR_UPDATABLE - Возвращает:
- новый объект
Statement, который будет формировать объектыResultSetс указанными типом и уровнем параллелизма - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных, этот метод вызван для закрытого соединения или указанные параметры не являются константамиResultSet, задающими тип и уровень параллелизма -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод или этот метод не поддерживается для указанного типа и уровня параллелизма результирующего набора. - Начиная с:
- 1.2
prepareStatement
PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
PreparedStatement, который будет формировать объекты ResultSet с указанными типом и уровнем параллелизма. Этот метод аналогичен приведённому выше методу prepareStatement, но позволяет переопределить тип и уровень параллелизма результирующего набора по умолчанию. Способ удержания созданных результирующих наборов можно определить, вызвав getHoldability().- Параметры:
-
sql— объектString, представляющий инструкцию SQL для отправки в базу данных; может содержать один или несколько параметров IN «?» -
resultSetType— тип результирующего набора:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVEилиResultSet.TYPE_SCROLL_SENSITIVE -
resultSetConcurrency— тип параллелизма:ResultSet.CONCUR_READ_ONLYилиResultSet.CONCUR_UPDATABLE - Возвращает:
- новый объект PreparedStatement, содержащий предварительно скомпилированную инструкцию SQL, которая сформирует объекты
ResultSetс указанными типом и уровнем параллелизма - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных, этот метод вызван для закрытого соединения или указанные параметры не являются константамиResultSet, задающими тип и уровень параллелизма -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод или этот метод не поддерживается для указанного типа и уровня параллелизма результирующего набора. - Начиная с:
- 1.2
prepareCall
CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException
CallableStatement, который будет формировать объекты ResultSet с указанными типом и уровнем параллелизма. Этот метод аналогичен приведённому выше методу prepareCall, но позволяет переопределить тип и уровень параллелизма результирующего набора по умолчанию. Способ удержания созданных результирующих наборов можно определить, вызвав getHoldability().- Параметры:
-
sql— объектString, представляющий инструкцию SQL для отправки в базу данных; может содержать один или несколько параметров «?» -
resultSetType— тип результирующего набора:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVEилиResultSet.TYPE_SCROLL_SENSITIVE -
resultSetConcurrency— тип параллелизма:ResultSet.CONCUR_READ_ONLYилиResultSet.CONCUR_UPDATABLE - Возвращает:
- новый объект
CallableStatement, содержащий предварительно скомпилированную инструкцию SQL, которая сформирует объектыResultSetс указанными типом и уровнем параллелизма - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных, этот метод вызван для закрытого соединения или указанные параметры не являются константамиResultSet, задающими тип и уровень параллелизма -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод или этот метод не поддерживается для указанного типа и уровня параллелизма результирующего набора. - Начиная с:
- 1.2
getTypeMap
Map<String,Class<?>> getTypeMap() throws SQLException
Map, связанный с этим объектом Connection. Если приложение не добавило запись, возвращаемая карта типов будет пустой. После внесения изменений в объект Map, возвращённый методом getTypeMap, необходимо вызвать setTypeMap, поскольку драйвер JDBC может создать внутреннюю копию объекта Map, переданного в setTypeMap:
Map<String,Class<?>> myMap = con.getTypeMap();
myMap.put("mySchemaName.ATHLETES", Athletes.class);
con.setTypeMap(myMap);
- Возвращает:
- объект
java.util.Map, связанный с этим объектомConnection - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с:
- 1.2
- См. также:
setTypeMap
void setTypeMap(Map<String,Class<?>> map) throws SQLException
TypeMap как карту типов для этого объекта Connection. Карта типов будет использоваться для пользовательского сопоставления структурированных типов SQL и отдельных типов. Необходимо задать значения для TypeMap до вызова setMap, поскольку драйвер JDBC может создать внутреннюю копию объекта TypeMap:
Map myMap<String,Class<?>> = new HashMap<String,Class<?>>();
myMap.put("mySchemaName.ATHLETES", Athletes.class);
con.setTypeMap(myMap);
- Параметры:
-
map— объектjava.util.Map, устанавливаемый вместо карты типов по умолчанию для этого объектаConnection - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных, этот метод вызван для закрытого соединения или указанный параметр не является объектомjava.util.Map -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с:
- 1.2
- См. также:
setHoldability
void setHoldability(int holdability) throws SQLException
ResultSet, созданных с помощью этого объекта Connection, на указанный способ. Способ удержания объектов ResultSet по умолчанию можно определить, вызвав DatabaseMetaData.getResultSetHoldability().- Параметры:
-
holdability— константа способа удержанияResultSet:ResultSet.HOLD_CURSORS_OVER_COMMITилиResultSet.CLOSE_CURSORS_AT_COMMIT - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных, этот метод вызван для закрытого соединения или указанный параметр не является константойResultSet, задающей способ удержания -
SQLFeatureNotSupportedException— если указанный способ удержания не поддерживается - Начиная с:
- 1.4
- См. также:
getHoldability
int getHoldability() throws SQLException
ResultSet, созданных с помощью этого объекта Connection.- Возвращает:
- возможность сохранения: одно из значений
ResultSet.HOLD_CURSORS_OVER_COMMITилиResultSet.CLOSE_CURSORS_AT_COMMIT - Выбрасывает:
-
SQLException— если происходит ошибка доступа к базе данных или этот метод вызывается для закрытого соединения - Начиная с версии:
- 1.4
- См. также:
setSavepoint
Savepoint setSavepoint() throws SQLException
Savepoint, представляющий ее. Если setSavepoint вызывается вне активной транзакции, в этой вновь созданной точке сохранения будет начата транзакция.
- Возвращает:
- новый объект
Savepoint - Выбрасывает:
-
SQLException— если происходит ошибка доступа к базе данных, этот метод вызывается в ходе распределенной транзакции, для закрытого соединения или если этот объектConnectionнаходится в режиме автоматической фиксации -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.4
- См. также:
setSavepoint
Savepoint setSavepoint(String name) throws SQLException
Savepoint, представляющий ее. Если setSavepoint вызывается вне активной транзакции, в этой вновь созданной точке сохранения будет начата транзакция.
- Параметры:
-
name—String, содержащая имя точки сохранения - Возвращает:
- новый объект
Savepoint - Выбрасывает:
-
SQLException— если происходит ошибка доступа к базе данных, этот метод вызывается в ходе распределенной транзакции, для закрытого соединения или если этот объектConnectionнаходится в режиме автоматической фиксации -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.4
- См. также:
rollback
void rollback(Savepoint savepoint) throws SQLException
Savepoint. Этот метод следует использовать только при отключенном режиме автоматической фиксации.
- Параметры:
-
savepoint— объектSavepoint, к которому следует выполнить откат - Выбрасывает:
-
SQLException— если происходит ошибка доступа к базе данных, этот метод вызывается в ходе распределенной транзакции или для закрытого соединения, объектSavepointбольше недействителен либо этот объектConnectionнаходится в режиме автоматической фиксации -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.4
- См. также:
releaseSavepoint
void releaseSavepoint(Savepoint savepoint) throws SQLException
Savepoint и последующие объекты Savepoint из текущей транзакции. Любая попытка обратиться к точке сохранения после ее удаления приведет к выбрасыванию SQLException.- Параметры:
-
savepoint— удаляемый объектSavepoint - Выбрасывает:
-
SQLException— если происходит ошибка доступа к базе данных, этот метод вызывается для закрытого соединения или указанный объектSavepointне является допустимой точкой сохранения в текущей транзакции -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.4
createStatement
Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
Statement, который будет формировать объекты ResultSet с указанными типом, уровнем параллелизма и возможностью сохранения. Этот метод аналогичен описанному выше методу createStatement, но позволяет переопределить тип, уровень параллелизма и возможность сохранения набора результатов по умолчанию.- Параметры:
-
resultSetType— одна из следующих константResultSet:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVEилиResultSet.TYPE_SCROLL_SENSITIVE -
resultSetConcurrency— одна из следующих константResultSet:ResultSet.CONCUR_READ_ONLYилиResultSet.CONCUR_UPDATABLE -
resultSetHoldability— одна из следующих константResultSet:ResultSet.HOLD_CURSORS_OVER_COMMITилиResultSet.CLOSE_CURSORS_AT_COMMIT - Возвращает:
- новый объект
Statement, который будет формировать объектыResultSetс указанными типом, уровнем параллелизма и возможностью сохранения - Выбрасывает:
-
SQLException— если происходит ошибка доступа к базе данных, этот метод вызывается для закрытого соединения или указанные параметры не являются константамиResultSet, определяющими тип, уровень параллелизма и возможность сохранения -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод или этот метод не поддерживается для указанного типа набора результатов, возможности сохранения набора результатов и уровня параллелизма набора результатов. - Начиная с версии:
- 1.4
- См. также:
prepareStatement
PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
PreparedStatement, который будет формировать объекты ResultSet с указанными типом, уровнем параллелизма и возможностью сохранения. Этот метод аналогичен описанному выше методу prepareStatement, но позволяет переопределить тип, уровень параллелизма и возможность сохранения набора результатов по умолчанию.
- Параметры:
-
sql— объектString, содержащий SQL-инструкцию, которую нужно отправить в базу данных; может содержать один или несколько входных параметров «?» -
resultSetType— одна из следующих константResultSet:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVEилиResultSet.TYPE_SCROLL_SENSITIVE -
resultSetConcurrency— одна из следующих константResultSet:ResultSet.CONCUR_READ_ONLYилиResultSet.CONCUR_UPDATABLE -
resultSetHoldability— одна из следующих константResultSet:ResultSet.HOLD_CURSORS_OVER_COMMITилиResultSet.CLOSE_CURSORS_AT_COMMIT - Возвращает:
- новый объект
PreparedStatement, содержащий предварительно скомпилированную SQL-инструкцию и формирующий объектыResultSetс указанными типом, уровнем параллелизма и возможностью сохранения - Выбрасывает:
-
SQLException— если происходит ошибка доступа к базе данных, этот метод вызывается для закрытого соединения или указанные параметры не являются константамиResultSet, определяющими тип, уровень параллелизма и возможность сохранения -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод или этот метод не поддерживается для указанного типа набора результатов, возможности сохранения набора результатов и уровня параллелизма набора результатов. - Начиная с версии:
- 1.4
- См. также:
prepareCall
CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException
CallableStatement, который будет формировать объекты ResultSet с указанными типом и уровнем параллелизма. Этот метод аналогичен описанному выше методу prepareCall, но позволяет переопределить тип и уровень параллелизма набора результатов, а также возможность сохранения по умолчанию.- Параметры:
-
sql— объектString, содержащий SQL-инструкцию, которую нужно отправить в базу данных; может содержать один или несколько параметров «?» -
resultSetType— одна из следующих константResultSet:ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVEилиResultSet.TYPE_SCROLL_SENSITIVE -
resultSetConcurrency— одна из следующих константResultSet:ResultSet.CONCUR_READ_ONLYилиResultSet.CONCUR_UPDATABLE -
resultSetHoldability— одна из следующих константResultSet:ResultSet.HOLD_CURSORS_OVER_COMMITилиResultSet.CLOSE_CURSORS_AT_COMMIT - Возвращает:
- новый объект
CallableStatement, содержащий предварительно скомпилированную SQL-инструкцию и формирующий объектыResultSetс указанными типом, уровнем параллелизма и возможностью сохранения - Выбрасывает:
-
SQLException— если происходит ошибка доступа к базе данных, этот метод вызывается для закрытого соединения или указанные параметры не являются константамиResultSet, определяющими тип, уровень параллелизма и возможность сохранения -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод или этот метод не поддерживается для указанного типа набора результатов, возможности сохранения набора результатов и уровня параллелизма набора результатов. - Начиная с версии:
- 1.4
- См. также:
prepareStatement
PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException
PreparedStatement по умолчанию, способный извлекать автоматически сгенерированные ключи. Указанная константа сообщает драйверу, следует ли сделать автоматически сгенерированные ключи доступными для извлечения. Этот параметр игнорируется, если SQL-инструкция не является инструкцией INSERT или SQL-инструкцией, способной возвращать автоматически сгенерированные ключи (список таких инструкций зависит от производителя). Примечание: Этот метод оптимизирован для обработки параметризованных SQL-инструкций, для которых полезна предварительная компиляция. Если драйвер поддерживает предварительную компиляцию, метод prepareStatement отправит инструкцию в базу данных для предварительной компиляции. Некоторые драйверы могут не поддерживать предварительную компиляцию. В этом случае инструкция может быть отправлена в базу данных только при выполнении объекта PreparedStatement. Это напрямую не влияет на пользователей, однако влияет на то, какие методы выбрасывают определенные исключения SQLExceptions.
По умолчанию наборы результатов, созданные с помощью возвращенного объекта PreparedStatement, будут иметь тип TYPE_FORWARD_ONLY и уровень параллелизма CONCUR_READ_ONLY. Возможность сохранения созданных наборов результатов можно определить, вызвав getHoldability().
- Параметры:
-
sql— SQL-инструкция, которая может содержать один или несколько заполнителей входных параметров «?» -
autoGeneratedKeys— флаг, указывающий, следует ли возвращать автоматически сгенерированные ключи; одно из значенийStatement.RETURN_GENERATED_KEYSилиStatement.NO_GENERATED_KEYS - Возвращает:
- новый объект
PreparedStatement, содержащий предварительно скомпилированную SQL-инструкцию и способный возвращать автоматически сгенерированные ключи - Выбрасывает:
-
SQLException— если происходит ошибка доступа к базе данных, этот метод вызывается для закрытого соединения или указанный параметр не является константойStatement, определяющей, следует ли возвращать автоматически сгенерированные ключи -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод с константой Statement.RETURN_GENERATED_KEYS - Начиная с версии:
- 1.4
prepareStatement
PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException
PreparedStatement по умолчанию, способный возвращать автоматически сгенерированные ключи, указанные в данном массиве. Этот массив содержит индексы столбцов целевой таблицы, в которых находятся автоматически сгенерированные ключи, доступные для возврата. Драйвер проигнорирует массив, если SQL-инструкция не является инструкцией INSERT или SQL-инструкцией, способной возвращать автоматически сгенерированные ключи (список таких инструкций зависит от производителя). SQL-инструкцию с входными параметрами или без них можно предварительно скомпилировать и сохранить в объекте PreparedStatement. Затем этот объект можно использовать для эффективного многократного выполнения инструкции.
Примечание: Этот метод оптимизирован для обработки параметризованных SQL-инструкций, для которых полезна предварительная компиляция. Если драйвер поддерживает предварительную компиляцию, метод prepareStatement отправит инструкцию в базу данных для предварительной компиляции. Некоторые драйверы могут не поддерживать предварительную компиляцию. В этом случае инструкция может быть отправлена в базу данных только при выполнении объекта PreparedStatement. Это напрямую не влияет на пользователей, однако влияет на то, какие методы выбрасывают определенные исключения SQLExceptions.
По умолчанию наборы результатов, созданные с помощью возвращенного объекта PreparedStatement, будут иметь тип TYPE_FORWARD_ONLY и уровень параллелизма CONCUR_READ_ONLY. Возможность сохранения созданных наборов результатов можно определить, вызвав getHoldability().
- Параметры:
-
sql— SQL-инструкция, которая может содержать один или несколько заполнителей входных параметров «?» -
columnIndexes— массив индексов столбцов, указывающий, какие столбцы следует возвращать из вставленной строки или строк - Возвращает:
- новый объект
PreparedStatement, содержащий предварительно скомпилированную инструкцию и способный возвращать автоматически сгенерированные ключи, указанные в данном массиве индексов столбцов - Выбрасывает:
-
SQLException— если происходит ошибка доступа к базе данных или этот метод вызывается для закрытого соединения -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.4
prepareStatement
PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException
PreparedStatement по умолчанию, способный возвращать автоматически сгенерированные ключи, указанные в данном массиве. Этот массив содержит имена столбцов целевой таблицы, в которых находятся автоматически сгенерированные ключи, доступные для возврата. Драйвер проигнорирует массив, если SQL-инструкция не является инструкцией INSERT или SQL-инструкцией, способной возвращать автоматически сгенерированные ключи (список таких инструкций зависит от производителя). SQL-инструкцию с входными параметрами или без них можно предварительно скомпилировать и сохранить в объекте PreparedStatement. Затем этот объект можно использовать для эффективного многократного выполнения инструкции.
Примечание: Этот метод оптимизирован для обработки параметризованных SQL-инструкций, для которых полезна предварительная компиляция. Если драйвер поддерживает предварительную компиляцию, метод prepareStatement отправит инструкцию в базу данных для предварительной компиляции. Некоторые драйверы могут не поддерживать предварительную компиляцию. В этом случае инструкция может быть отправлена в базу данных только при выполнении объекта PreparedStatement. Это напрямую не влияет на пользователей, однако влияет на то, какие методы выбрасывают определенные исключения SQLExceptions.
По умолчанию наборы результатов, созданные с помощью возвращенного объекта PreparedStatement, будут иметь тип TYPE_FORWARD_ONLY и уровень параллелизма CONCUR_READ_ONLY. Возможность сохранения созданных наборов результатов можно определить, вызвав getHoldability().
- Параметры:
-
sql— SQL-инструкция, которая может содержать один или несколько заполнителей входных параметров «?» -
columnNames— массив имен столбцов, указывающий, какие столбцы следует возвращать из вставленной строки или строк - Возвращает:
- новый объект
PreparedStatement, содержащий предварительно скомпилированную инструкцию и способный возвращать автоматически сгенерированные ключи, указанные в данном массиве имен столбцов - Выбрасывает:
-
SQLException— если происходит ошибка доступа к базе данных или этот метод вызывается для закрытого соединения -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.4
createClob
Clob createClob() throws SQLException
Clob. Возвращаемый объект изначально не содержит данных. Для добавления данных в Clob можно использовать методы setAsciiStream, setCharacterStream и setString интерфейса Clob.- Возвращает:
- Объект, реализующий интерфейс
Clob - Выбрасывает:
-
SQLException— если не удается создать объект, реализующий интерфейсClob, этот метод вызывается для закрытого соединения или происходит ошибка доступа к базе данных. -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот тип данных - Начиная с версии:
- 1.6
createBlob
Blob createBlob() throws SQLException
Blob. Возвращаемый объект изначально не содержит данных. Для добавления данных в Blob можно использовать методы setBinaryStream и setBytes интерфейса Blob.- Возвращает:
- Объект, реализующий интерфейс
Blob - Выбрасывает:
-
SQLException— если не удается создать объект, реализующий интерфейсBlob, этот метод вызывается для закрытого соединения или происходит ошибка доступа к базе данных. -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот тип данных - Начиная с версии:
- 1.6
createNClob
NClob createNClob() throws SQLException
NClob. Возвращаемый объект изначально не содержит данных. Для добавления данных в NClob можно использовать методы setAsciiStream, setCharacterStream и setString интерфейса NClob.- Возвращает:
- Объект, реализующий интерфейс
NClob - Выбрасывает:
-
SQLException— если не удается создать объект, реализующий интерфейсNClob, этот метод вызывается для закрытого соединения или происходит ошибка доступа к базе данных. -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот тип данных - Начиная с версии:
- 1.6
createSQLXML
SQLXML createSQLXML() throws SQLException
SQLXML. Возвращаемый объект изначально не содержит данных. Для добавления данных в объект SQLXML можно использовать объект createXmlStreamWriter и метод setString интерфейса SQLXML.- Возвращает:
- Объект, реализующий интерфейс
SQLXML - Выбрасывает:
-
SQLException— если не удается создать объект, реализующий интерфейсSQLXML, этот метод вызывается для закрытого соединения или происходит ошибка доступа к базе данных. -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот тип данных - Начиная с версии:
- 1.6
isValid
boolean isValid(int timeout) throws SQLException
Запрос, отправляемый драйвером для проверки соединения, должен выполняться в контексте текущей транзакции.
- Параметры:
-
timeout— время ожидания в секундах завершения операции с базой данных, используемой для проверки соединения. Если время ожидания истекает до завершения операции, этот метод возвращает false. Значение 0 означает, что для операции с базой данных ограничение времени ожидания не применяется. - Возвращает:
- true, если соединение действительно; в противном случае false
- Выбрасывает:
-
SQLException— если значение, заданное дляtimeout, меньше 0 - Начиная с версии:
- 1.6
- См. также:
setClientInfo
void setClientInfo(String name, String value) throws SQLClientInfoException
Приложения могут использовать метод DatabaseMetaData.getClientInfoProperties, чтобы определить, какие свойства информации о клиенте поддерживаются драйвером, а также максимальную длину значения для каждого свойства.
Драйвер сохраняет указанное значение в подходящем месте базы данных, например в специальном регистре, параметре сеанса или столбце системной таблицы. Для повышения эффективности драйвер может отложить запись значения в базу данных до следующего выполнения или подготовки инструкции. Помимо сохранения информации о клиенте в соответствующем месте базы данных, эти методы никоим образом не должны изменять поведение соединения. Значения, переданные этим методам, используются только для учета, диагностики и отладки.
Драйвер должен выдать предупреждение, если указанное имя информации о клиенте ему неизвестно.
Если указанное для этого метода значение превышает максимальную длину свойства, драйвер может либо усечь значение и выдать предупреждение, либо выбросить SQLClientInfoException. Если драйвер выбрасывает SQLClientInfoException, указанное значение не было установлено для соединения.
Ниже перечислены стандартные свойства информации о клиенте. Драйверы не обязаны их поддерживать, однако если драйвер поддерживает свойство информации о клиенте, которое можно описать одним из стандартных свойств, следует использовать стандартное имя свойства.
- ApplicationName — имя приложения, использующего соединение в данный момент
- ClientUser — имя пользователя, от имени которого приложение, использующее соединение, выполняет работу. Оно может отличаться от имени пользователя, указанного при установлении соединения.
- ClientHostname — имя хоста компьютера, на котором выполняется приложение, использующее соединение.
- Параметры:
-
name— имя свойства информации о клиенте, значение которого нужно задать -
value— значение, которое нужно задать для свойства информации о клиенте. Если значение равно null, текущее значение указанного свойства удаляется. - Выбрасывает:
-
SQLClientInfoException— если сервер базы данных возвращает ошибку при установке значения информации о клиенте на сервере базы данных или этот метод вызывается для закрытого соединения - Начиная с версии:
- 1.6
setClientInfo
void setClientInfo(Properties properties) throws SQLClientInfoException
Properties содержит имена и значения свойств информации о клиенте, которые нужно задать. Набор свойств информации о клиенте, содержащихся в списке свойств, заменяет текущий набор свойств информации о клиенте соединения. Если свойство, заданное для соединения в данный момент, отсутствует в списке свойств, оно удаляется. Передача пустого списка свойств удалит все свойства соединения. Дополнительные сведения см. в разделе setClientInfo (String, String). Если при установке какого-либо свойства информации о клиенте происходит ошибка, выбрасывается SQLClientInfoException. Объект SQLClientInfoException содержит сведения о том, какие свойства информации о клиенте не были заданы. Состояние информации о клиенте неизвестно, поскольку некоторые базы данных не позволяют атомарно задавать несколько свойств информации о клиенте. В таких базах данных до возникновения ошибки могли быть заданы одно или несколько свойств.
- Параметры:
-
properties— список свойств информации о клиенте, которые нужно задать - Выбрасывает:
-
SQLClientInfoException— если сервер базы данных возвращает ошибку при установке значений clientInfo на сервере базы данных или этот метод вызывается для закрытого соединения - Начиная с версии:
- 1.6
- См. также:
getClientInfo
String getClientInfo(String name) throws SQLException
Приложения могут использовать метод DatabaseMetaData.getClientInfoProperties, чтобы определить, какие свойства информации о клиенте поддерживаются драйвером.
- Параметры:
-
name— имя свойства информации о клиенте, значение которого нужно получить - Возвращает:
- значение указанного свойства информации о клиенте
- Выбрасывает:
-
SQLException— если сервер базы данных возвращает ошибку при получении значения информации о клиенте из базы данных или этот метод вызывается для закрытого соединения - Начиная с версии:
- 1.6
- См. также:
getClientInfo
Properties getClientInfo() throws SQLException
- Возвращает:
- Объект
Properties, содержащий имя и текущее значение каждого свойства информации о клиенте, поддерживаемого драйвером. - Выбрасывает:
-
SQLException— если сервер базы данных возвращает ошибку при получении значений информации о клиенте из базы данных или этот метод вызывается для закрытого соединения - Начиная с версии:
- 1.6
createArrayOf
Array createArrayOf(String typeName, Object[] elements) throws SQLException
Примечание: Если createArrayOf используется для создания объекта массива, отображаемого на примитивный тип данных, то реализация определяет, будет ли объект Array массивом этого примитивного типа данных или массивом Object.
Примечание: Драйвер JDBC отвечает за отображение элементов массива Object на тип SQL JDBC по умолчанию, определённый в java.sql.Types для заданного класса Object. Отображение по умолчанию указано в приложении B спецификации JDBC. Если полученный тип JDBC не подходит для заданного typeName, реализация определяет, будет ли выброшено SQLException или драйвер поддержит полученное преобразование.
- Параметры:
-
typeName— SQL-имя типа, которому соответствуют элементы массива. typeName — это имя, специфичное для базы данных; оно может быть именем встроенного типа, пользовательского типа или стандартного типа SQL, поддерживаемого этой базой данных. Это значение, возвращаемоеArray.getBaseTypeName -
elements— элементы, которыми заполняется возвращаемый объект - Возвращает:
- объект Array, элементы которого соответствуют указанному типу SQL
- Выбрасывает:
-
SQLException— если произошла ошибка базы данных, тип JDBC не подходит для typeName и преобразование не поддерживается, typeName равен null или этот метод вызван для закрытого соединения -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот тип данных - Начиная с версии:
- 1.6
createStruct
Struct createStruct(String typeName, Object[] attributes) throws SQLException
- Параметры:
-
typeName— имя типа SQL для структурированного типа SQL, которому соответствует этот объектStruct. typeName — имя пользовательского типа, определённого для этой базы данных. Это значение, возвращаемоеStruct.getSQLTypeName. -
attributes— атрибуты, которыми заполняется возвращаемый объект - Возвращает:
- объект Struct, соответствующий заданному типу SQL и заполненный заданными атрибутами
- Выбрасывает:
-
SQLException— если произошла ошибка базы данных, typeName равен null или этот метод вызван для закрытого соединения -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот тип данных - Начиная с версии:
- 1.6
setSchema
void setSchema(String schema) throws SQLException
Если драйвер не поддерживает схемы, он молча проигнорирует этот запрос.
Вызов setSchema не влияет на ранее созданные или подготовленные объекты Statement. Реализация определяет, выполняется ли операция подготовки в СУБД немедленно при вызове метода Connection prepareStatement или prepareCall. Для максимальной переносимости setSchema следует вызывать до создания или подготовки Statement.
- Параметры:
-
schema— имя схемы, в которой следует работать - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения - Начиная с версии:
- 1.7
- См. также:
getSchema
String getSchema() throws SQLException
Connection.- Возвращает:
- текущее имя схемы или
null, если схема отсутствует - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения - Начиная с версии:
- 1.7
- См. также:
abort
void abort(Executor executor) throws SQLException
abort приводит к следующему: - Соединение помечается как закрытое
- Закрывается любое физическое соединение с базой данных
- Освобождаются ресурсы, используемые соединением
- Гарантируется, что любой поток, который в данный момент обращается к соединению, либо завершит выполнение, либо выбросит
SQLException.
Вызов abort помечает соединение как закрытое и освобождает все ресурсы. Вызов abort для закрытого соединения ничего не делает.
Освобождение ресурсов, удерживаемых соединением, может занять продолжительное время. После возврата метода abort соединение будет помечено как закрытое, а Executor, переданный в качестве параметра метода abort, всё ещё может выполнять задачи по освобождению ресурсов.
- Параметры:
-
executor— реализацияExecutor, которая будет использоваться методомabort. - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных илиexecutorимеет значениеnull - Начиная с версии:
- 1.7
- См. также:
setNetworkTimeout
void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException
Connection или объекты, созданные на его основе Connection, будут ждать ответа базы данных на любой запрос. Если на запрос не поступит ответ, ожидающий метод вернёт управление с SQLException, а Connection или объекты, созданные на основе Connection, будут помечены как закрытые. Любое последующее использование этих объектов, за исключением методов close, isClosed или Connection.isValid, приведёт к SQLException. Примечание: Этот метод предназначен для устранения редкой, но серьёзной ситуации, когда разделение сети может привести к тому, что потоки, выполняющие вызовы JDBC, будут бесконечно зависать при чтении из сокета до истечения времени ожидания TCP в ОС (обычно 10 минут). Этот метод связан с методом abort() , который предоставляет потоку администратора возможность освободить такие потоки, если ему доступно соединение JDBC. Метод setNetworkTimeout охватывает случаи, когда поток администратора отсутствует или не имеет доступа к соединению. Последствия вызова этого метода серьёзны, поэтому следует задавать достаточно большое значение, чтобы он не срабатывал раньше других, более обычных ограничений времени ожидания, например тайм-аутов транзакций.
Реализации драйверов JDBC также могут поддерживать метод setNetworkTimeout для ограничения времени ответа базы данных в средах, где сеть отсутствует.
Драйверы могут реализовывать некоторые или все вызовы API с помощью нескольких внутренних обменов данными между драйвером и базой данных. Реализация драйвера определяет, будет ли ограничение всегда применяться к ответу на вызов API или к каждому отдельному запросу, выполняемому в рамках этого вызова API.
Этот метод можно вызывать несколько раз, например, чтобы установить ограничение для определённого участка кода JDBC и восстановить значение по умолчанию после выхода из этого участка. Вызов метода не влияет на уже выполняющиеся запросы.
Значение тайм-аута Statement.setQueryTimeout() не зависит от значения тайм-аута, заданного в setNetworkTimeout. Если время ожидания запроса истечёт раньше сетевого тайм-аута, выполнение оператора будет отменено. Если сеть по-прежнему активна, оператор и соединение останутся пригодными к использованию. Однако, если сетевой тайм-аут истечёт раньше времени ожидания запроса или тайм-аут оператора завершится с ошибкой из-за проблем с сетью, соединение будет помечено как закрытое, все удерживаемые им ресурсы будут освобождены, а соединение и оператор станут непригодными к использованию.
Когда драйвер определяет, что время ожидания setNetworkTimeout истекло, драйвер JDBC помечает соединение как закрытое и освобождает все удерживаемые им ресурсы.
- Параметры:
-
executor— реализацияExecutor, которая будет использоваться методомsetNetworkTimeout. -
milliseconds— время ожидания завершения операции с базой данных в миллисекундах. Если драйвер JDBC не поддерживает миллисекунды, он округлит значение в большую сторону до ближайшей секунды. Если период ожидания истечёт до завершения операции, будет выброшено исключение SQLException. Значение 0 означает, что время ожидания операций с базой данных не ограничено. - Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных, этот метод вызван для закрытого соединения,executorимеет значениеnullили значение, указанное дляseconds, меньше 0. -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.7
- См. также:
getNetworkTimeout
int getNetworkTimeout() throws SQLException
SQLException.- Возвращает:
- текущее ограничение времени ожидания в миллисекундах; ноль означает отсутствие ограничения
- Выбрасывает:
-
SQLException— если произошла ошибка доступа к базе данных или этот метод вызван для закрытогоConnection -
SQLFeatureNotSupportedException— если драйвер JDBC не поддерживает этот метод - Начиная с версии:
- 1.7
- См. также:
beginRequest
default void beginRequest() throws SQLException
beginRequest, endRequest, не зависит от какой-либо другой работы, выполненной на соединении в рамках другого запроса или вне запроса. Запрос может включать несколько транзакций. Возможны зависимости от зафиксированного состояния базы данных, поскольку оно не является локальным для соединения. Локальным считается любое состояние, связанное с Connection и локальное для текущего Connection на стороне клиента или базы данных, которое нельзя прозрачно воспроизвести.
Вызовы beginRequest и endRequest не являются вложенными. Несколько вызовов beginRequest без промежуточного вызова endRequest не считаются ошибкой. Первый вызов beginRequest отмечает начало запроса, а последующие вызовы считаются пустыми операциями.
Использование beginRequest и endRequest необязательно, зависит от производителя и в основном должно быть прозрачным. В частности, реализации могут обнаруживать условия, указывающие на зависимость от другой работы, например открытую транзакцию. Рекомендуется, хотя и не требуется, чтобы реализации выбрасывали SQLException, если имеется активная транзакция и вызывается beginRequest. Использование этих методов может повысить производительность или дать другие преимущества. Дополнительные сведения см. в документации производителя.
Рекомендуется заключать каждую единицу работы в пары beginRequest, endRequest так, чтобы в начале и конце запроса не было открытой транзакции и зависимости от локального состояния, сохраняющейся между запросами. Зафиксированное состояние базы данных не является локальным.
- Примечание к API:
- Этот метод предназначен для использования менеджерами пула соединений.
Перед возвратом соединения вызывающему коду менеджер пула должен вызвать
beginRequestдля базового соединения.Менеджеру пула не требуется вызывать
beginRequest, если:- Пул соединений кэширует объекты
PooledConnection - При вызове приложением
getConnectionвозвращается логический дескриптор соединения - Логическое
Connectionзакрывается вызовомConnection.closeдо возвратаPooledConnectionв кэш.
- Пул соединений кэширует объекты
- Требования к реализации:
- Реализация по умолчанию ничего не делает.
- Выбрасывает:
-
SQLException— если произошла ошибка - Начиная с версии:
- 9
- См. также:
endRequest
default void endRequest() throws SQLException
beginRequest и endRequest не являются вложенными. Несколько вызовов endRequest без промежуточного вызова beginRequest не считаются ошибкой. Первый вызов endRequest отмечает завершение запроса, а последующие вызовы считаются пустыми операциями. Если endRequest вызван без предварительного вызова beginRequest, он ничего не делает. Точное поведение этого метода зависит от производителя. В частности, реализации могут обнаруживать условия, указывающие на зависимость от другой работы, например открытую транзакцию. Рекомендуется, хотя и не требуется, чтобы реализации выбрасывали SQLException, если имеется активная транзакция и вызывается endRequest.
- Примечание к API:
- Этот метод предназначен для использования менеджерами пула соединений.
Когда приложение возвращает соединение в пул, менеджер пула должен вызвать
endRequestдля базового соединения.Менеджеру пула не требуется вызывать
endRequest, если:- Пул соединений кэширует объекты
PooledConnection - При вызове приложением
getConnectionвозвращается логический дескриптор соединения - Логическое
Connectionзакрывается вызовомConnection.closeдо возвратаPooledConnectionв кэш.
- Пул соединений кэширует объекты
- Требования к реализации:
- Реализация по умолчанию ничего не делает.
- Выбрасывает:
-
SQLException— если произошла ошибка - Начиная с версии:
- 9
- См. также:
setShardingKeyIfValid
default boolean setShardingKeyIfValid(ShardingKey shardingKey, ShardingKey superShardingKey, int timeout) throws SQLException
null. Допустимость ключа сегментирования null зависит от производителя. Дополнительные сведения см. в документации производителя.- Примечание к API:
- Этот метод проверяет допустимость ключей сегментирования для
Connection. Значение тайм-аута указывает, как долго драйвер должен ожидать, покаConnectionпроверит допустимость ключа сегментирования, прежде чемsetShardingKeyIfValidвернёт false. - Требования к реализации:
- Реализация по умолчанию выбрасывает
SQLFeatureNotSupportedException. - Параметры:
-
shardingKey— ключ сегментирования, допустимость которого проверяется для этого соединения. Ключ сегментирования может бытьnull -
superShardingKey— суперключ сегментирования, допустимость которого проверяется для этого соединения. Суперключ сегментирования может бытьnull. -
timeout— время в секундах, за которое должна завершиться проверка; в противном случае проверка прерывается. Значение 0 означает, что время проверки не ограничено. - Возвращает:
- true, если соединение действительно, ключи сегментирования допустимы и установлены для этого соединения; false, если ключи сегментирования недопустимы или период ожидания истёк до завершения операции.
- Выбрасывает:
-
SQLException— если при проверке произошла ошибка; если указанsuperShardingKeyбезshardingKey; если этот метод вызван для закрытогоconnection; или если значениеtimeoutотрицательно. -
SQLFeatureNotSupportedException— если драйвер не поддерживает сегментирование - Начиная с версии:
- 9
- См. также:
setShardingKeyIfValid
default boolean setShardingKeyIfValid(ShardingKey shardingKey, int timeout) throws SQLException
null. Допустимость ключа сегментирования null зависит от производителя. Дополнительные сведения см. в документации производителя.- Примечание к API:
- Этот метод проверяет допустимость ключа сегментирования для
Connection. Значение тайм-аута указывает, как долго драйвер должен ожидать, покаConnectionпроверит допустимость ключа сегментирования, прежде чемsetShardingKeyIfValidвернёт false. - Требования к реализации:
- Реализация по умолчанию выбрасывает
SQLFeatureNotSupportedException. - Параметры:
-
shardingKey— ключ сегментирования, допустимость которого проверяется для этого соединения. Ключ сегментирования может бытьnull -
timeout— время в секундах, за которое должна завершиться проверка; в противном случае проверка прерывается. Значение 0 означает, что время проверки не ограничено. - Возвращает:
- true, если соединение действительно и ключ сегментирования допустим для установки в этом соединении; false, если ключ сегментирования недопустим или период ожидания истёк до завершения операции.
- Выбрасывает:
-
SQLException— если при проверке произошла ошибка; если этот метод вызван для закрытогоconnection; или если значениеtimeoutотрицательно. -
SQLFeatureNotSupportedException— если драйвер не поддерживает сегментирование - Начиная с версии:
- 9
- См. также:
setShardingKey
default void setShardingKey(ShardingKey shardingKey, ShardingKey superShardingKey) throws SQLException
- Примечание к API:
- Этот метод задаёт указанные ключи сегментирования, но не требует обмена данными с базой данных для проверки их допустимости для
Connection. - Требования к реализации:
- Реализация по умолчанию выбрасывает
SQLFeatureNotSupportedException. - Параметры:
-
shardingKey— ключ сегментирования, задаваемый для этого соединения. Ключ сегментирования может бытьnull -
superShardingKey— суперключ сегментирования, задаваемый для этого соединения. Суперключ сегментирования может бытьnull - Выбрасывает:
-
SQLException— если при задании ключей сегментирования произошла ошибка; если этот метод вызван для закрытогоconnection; или если указанsuperShardingKeyбезshardingKey -
SQLFeatureNotSupportedException— если драйвер не поддерживает сегментирование - Начиная с версии:
- 9
- См. также:
setShardingKey
default void setShardingKey(ShardingKey shardingKey) throws SQLException
- Примечание к API:
- Этот метод задаёт указанный ключ сегментирования, но не требует обмена данными с базой данных для проверки его допустимости для
Connection. - Требования к реализации:
- Реализация по умолчанию выбрасывает
SQLFeatureNotSupportedException. - Параметры:
-
shardingKey— ключ сегментирования, задаваемый для этого соединения. Ключ сегментирования может бытьnull - Выбрасывает:
-
SQLException— если при задании ключа сегментирования произошла ошибка или этот метод вызван для закрытогоconnection -
SQLFeatureNotSupportedException— если драйвер не поддерживает сегментирование - Начиная с версии:
- 9
- См. также:
enquoteLiteral
default String enquoteLiteral(String val) throws SQLException
String, заключённый в одинарные кавычки. Каждая одинарная кавычка в строке заменяется двумя одинарными кавычками.
Примеры преобразования: Значение Результат Hello 'Hello' G'Day 'G''Day' 'G''Day' '''G''''Day''' I'''M 'I''''''M'
- Требования к реализации:
- Реализация по умолчанию создаёт литерал следующим образом:
"'" + val.replace("'", "''") + "'". - Примечание к реализации:
- Реализациям драйверов JDBC может потребоваться собственная реализация этого метода, чтобы соответствовать требованиям базового источника данных.
- Параметры:
-
val— строка символов - Возвращает:
- строку в одинарных кавычках, в которой каждая одинарная кавычка заменена двумя одинарными кавычками
- Выбрасывает:
-
NullPointerException— если val имеет значениеnull -
SQLException— если произошла ошибка доступа к базе данных - Начиная с версии:
- 26
enquoteIdentifier
default String enquoteIdentifier(String identifier, boolean alwaysDelimit) throws SQLException
simple SQL identifier или идентификатор с разделителями. Идентификатор с разделителями представляет имя объекта базы данных, например таблицы, столбца или представления, заключённое в разделители, которыми обычно служат двойные кавычки, как определено стандартом SQL. Если identifier является простым идентификатором SQL:
- Если
alwaysDelimitимеет значениеfalse, возвращается исходное значение - если
alwaysDelimitимеет значениеtrue, исходное значение заключается в кавычки и возвращается как идентификатор с разделителями
identifier не является простым идентификатором SQL, возвращаемый идентификатор с разделителями identifier должен быть заключён в разделители, возвращаемые методом DatabaseMetaData.getIdentifierQuoteString(). Если источник данных не поддерживает идентификаторы с разделителями, выбрасывается SQLFeatureNotSupportedException. SQLException будет выброшено, если identifier содержит недопустимые символы в идентификаторе с разделителями или длина идентификатора недопустима для источника данных.
- Требования к реализации:
- Реализация по умолчанию использует следующие критерии для определения допустимого простого идентификатора SQL:
- Строка не заключена в двойные кавычки
- Первый символ является буквой латинского алфавита от a (
'\0061') до z ('\u007A') или от A ('\u0041') до Z ('\u005A') - Имя содержит только буквенно-цифровые символы ([0-9A-Za-z]) или символ "_"
SQLException, если:-
DatabaseMetaData.getIdentifierQuoteString()возвращает не двойную кавычку -
identifierсодержит символnullили двойную кавычку - Длина
identifierменьше 1 или больше 128 символов
Примеры преобразования: Идентификатор Всегда заключать в разделители Результат Hello false Hello Hello true "Hello" G'Day false "G'Day" "Bruce Wayne" false "Bruce Wayne" "Bruce Wayne" true "Bruce Wayne" "select" false "select" "select" true "select" GoodDay$ false "GoodDay$" Hello"World false SQLException "Hello"World" false SQLException - Примечание к реализации:
- Реализациям драйверов JDBC может потребоваться собственная реализация этого метода, чтобы соответствовать требованиям базового источника данных.
- Параметры:
-
identifier— идентификатор SQL -
alwaysDelimit— указывает, следует ли возвращать простой идентификатор SQL как идентификатор с разделителями - Возвращает:
- простой идентификатор SQL или идентификатор с разделителями
- Выбрасывает:
-
SQLException— если identifier не является допустимым идентификатором -
SQLFeatureNotSupportedException— если источник данных не поддерживает идентификаторы с разделителями -
NullPointerException— если identifier имеет значениеnull - Начиная с версии:
- 26
isSimpleIdentifier
default boolean isSimpleIdentifier(String identifier) throws SQLException
identifier простым идентификатором SQL. Простой идентификатор SQL в стандарте SQL называется обычным идентификатором. Обычный идентификатор представляет собой имя объекта базы данных, например таблицы, столбца или представления. Правила для обычного идентификатора:
- Первый символ — алфавитный символ от a (
'\u0061') до z ('\u007A') или от A ('\u0041') до Z ('\u005A') - Имя содержит только буквенно-цифровые символы ([0-9A-Za-z]) или символ «_»
- Это не зарезервированное слово SQL
Для обычного идентификатора источник данных может задавать дополнительные правила, например:
- Поддержка дополнительных символов в имени с учетом используемого языкового стандарта
- Поддержка другой максимальной длины идентификатора
- Требования к реализации:
- Реализация по умолчанию использует следующие критерии, чтобы определить, является ли идентификатор простым идентификатором SQL:
- Идентификатор не заключен в двойные кавычки
- Первый символ — алфавитный символ от a до z или от A до Z
- Идентификатор содержит только буквенно-цифровые символы ([0-9A-Za-z]) или символ «_»
- Идентификатор не является зарезервированным словом SQL
- Длина идентификатора составляет от 1 до 128 символов включительно
Примеры преобразования: идентификатор Простой идентификатор Hello true G'Day false "Bruce Wayne" false GoodDay$ false Hello"World false "Hello"World" false "select" false "from" false - Примечание по реализации:
- Реализациям драйверов JDBC может потребоваться собственная реализация этого метода, чтобы соответствовать требованиям используемого источника данных.
- Параметры:
-
identifier— идентификатор SQL - Возвращает:
- true, если это простой идентификатор SQL; в противном случае — false
- Вызывает:
-
NullPointerException— если идентификатор —null -
SQLException— если произошла ошибка доступа к базе данных - Начиная с версии:
- 26
enquoteNCharLiteral
default String enquoteNCharLiteral(String val) throws SQLException
String, представляющее литерал национального набора символов, заключенный в одинарные кавычки и снабженный префиксом в виде заглавной буквы N. Каждая одинарная кавычка в строке заменяется двумя одинарными кавычками.
Примеры преобразования: Значение Результат Hello N'Hello' G'Day N'G''Day' 'G''Day' N'''G''''Day''' I'''M N'I''''''M' N'Hello' N'N''Hello'''
- Требования к реализации:
- Реализация по умолчанию создает литерал следующим образом:
"N'" + val.replace("'", "''") + "'". - Примечание по реализации:
- Реализациям драйверов JDBC может потребоваться собственная реализация этого метода, чтобы соответствовать требованиям используемого источника данных. Реализация enquoteNCharLiteral может принимать набор символов, отличный от набора, который принимает реализация enquoteLiteral того же драйвера.
- Параметры:
-
val— строка символов - Возвращает:
- результат замены каждого одинарного символа кавычки в аргументе двумя одинарными кавычками; перед всей полученной строкой добавляется «N».
- Вызывает:
-
NullPointerException— если val —null -
SQLException— если произошла ошибка доступа к базе данных - Начиная с версии:
- 26
© 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.