Интерфейс подключения

Все суперинтерфейсы:
AutoCloseable, Wrapper
public interface Connection
extends Wrapper, AutoCloseable

Подключение (сессия) к определенной базе данных. SQL-запросы выполняются и результаты возвращаются в контексте подключения.

База данных объекта Connection способна предоставлять информацию о своих таблицах, поддерживаемом SQL-грамматике, хранимых процедурах, возможностях этого подключения и так далее. Эта информация извлекается с помощью метода getMetaData.

Примечание: При конфигурировании Connection, приложения JDBC должны использовать соответствующий метод Connection, такой как setAutoCommit или setTransactionIsolation. Приложения не должны вызывать SQL-команды напрямую для изменения конфигурации подключения, если существует соответствующий метод JDBC. По умолчанию объект 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
См. также:
DriverManager.getConnection(java.lang.String, java.util.Properties), Statement, ResultSet, DatabaseMetaData

Поля

Модификатор и тип Поле Описание
static int TRANSACTION_NONE

Константа, указывающая, что транзакции не поддерживаются.

static int TRANSACTION_READ_COMMITTED

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

static int TRANSACTION_READ_UNCOMMITTED

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

static int TRANSACTION_REPEATABLE_READ

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

static int TRANSACTION_SERIALIZABLE

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

Методы

Модификатор и тип Метод Описание
void abort​(Executor executor)

Завершает открытое соединение.

default void beginRequest()

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

void clearWarnings()

Очищает все предупреждения, сообщённые для данного объекта Connection.

void close()

Освобождает базу данных и JDBC ресурсы этого объекта Connection немедленно вместо ожидания их автоматического освобождения.

void commit()

Делает все изменения, внесённые с момента предыдущей фиксации/отката, постоянными и освобождает любые блокировки базы данных, в настоящее время удерживаемые этим объектом Connection.

Array createArrayOf​(String typeName, Object[] elements)

Метод фабрики для создания объектов Array.

Blob createBlob()

Создаёт объект, реализующий интерфейс Blob.

Clob createClob()

Создаёт объект, реализующий интерфейс Clob.

NClob createNClob()

Создаёт объект, реализующий интерфейс NClob.

SQLXML createSQLXML()

Создаёт объект, реализующий интерфейс SQLXML.

Statement createStatement()

Создаёт объект Statement для отправки SQL-запросов в базу данных.

Statement createStatement​(int resultSetType, int resultSetConcurrency)

Создаёт объект Statement , который будет генерировать объекты ResultSet заданного типа и конкурентности.

Statement createStatement​(int resultSetType, int resultSetConcurrency, int resultSetHoldability)

Создаёт объект Statement , который будет генерировать объекты ResultSet заданного типа, конкурентности и удерживаемости.

Struct createStruct​(String typeName, Object[] attributes)

Метод фабрики для создания объектов Struct.

default void endRequest()

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

boolean getAutoCommit()

Возвращает текущий режим автоматического подтверждения для данного объекта Connection.

String getCatalog()

Возвращает текущее имя каталога данного объекта Connection.

Properties getClientInfo()

Возвращает список, содержащий имя и текущее значение каждого свойства client info, поддерживаемого драйвером.

String getClientInfo​(String name)

Возвращает значение свойства client info, заданного по имени.

int getHoldability()

Возвращает текущую удерживаемость объектов ResultSet , созданных с использованием данного объекта Connection.

DatabaseMetaData getMetaData()

Возвращает объект DatabaseMetaData , содержащий метаданные о базе данных, к которой это объект Connection представляет собой подключение.

int getNetworkTimeout()

Возвращает количество миллисекунд, которое драйвер будет ожидать завершения запроса к базе данных.

String getSchema()

Возвращает текущее имя схемы данного объекта Connection.

int getTransactionIsolation()

Возвращает текущий уровень изоляции транзакции этого объекта Connection.

Map<String,​Class<?>> getTypeMap()

Возвращает объект Map , связанный с этим объектом Connection.

SQLWarning getWarnings()

Возвращает первое предупреждение, полученное в результате вызовов на этом объекте Connection.

boolean isClosed()

Возвращает, был ли закрыт этот объект Connection.

boolean isReadOnly()

Возвращает, находится ли этот объект Connection в режиме только для чтения.

boolean isValid​(int timeout)

Возвращает true, если соединение не было закрыто и по-прежнему валидно.

String nativeSQL​(String sql)

Преобразует заданный SQL-запрос в собственный синтаксис SQL системы.

CallableStatement prepareCall​(String sql)

Создаёт объект CallableStatement для вызова хранимых процедур базы данных.

CallableStatement prepareCall​(String sql, int resultSetType, int resultSetConcurrency)

Создаёт объект CallableStatement , который будет генерировать объекты ResultSet заданного типа и конкурентности.

CallableStatement prepareCall​(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)

Создаёт объект CallableStatement , который будет генерировать объекты ResultSet заданного типа и конкурентности.

PreparedStatement prepareStatement​(String sql)

Создаёт объект PreparedStatement для отправки параметризованных SQL-запросов в базу данных.

PreparedStatement prepareStatement​(String sql, int autoGeneratedKeys)

Создаёт стандартный объект PreparedStatement , способный извлекать автоматически сгенерированные ключи.

PreparedStatement prepareStatement​(String sql, int[] columnIndexes)

Создаёт стандартный объект PreparedStatement , способный возвращать автоматически сгенерированные ключи, указанные в заданном массиве.

PreparedStatement prepareStatement​(String sql, int resultSetType, int resultSetConcurrency)

Создаёт объект PreparedStatement , который будет генерировать объекты ResultSet заданного типа и конкурентности.

PreparedStatement prepareStatement​(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)

Создаёт объект PreparedStatement , который будет генерировать объекты ResultSet заданного типа, конкурентности и удерживаемости.

PreparedStatement prepareStatement​(String sql, String[] columnNames)

Создаёт стандартный объект PreparedStatement , способный возвращать автоматически сгенерированные ключи, указанные в заданном массиве.

void releaseSavepoint​(Savepoint savepoint)

Удаляет указанные объекты Savepoint и последующие объекты Savepoint из текущей транзакции.

void rollback()

Отменяет все изменения, внесённые в текущей транзакции, и освобождает все блокировки базы данных, удерживаемые данным объектом Connection.

void rollback​(Savepoint savepoint)

Отменяет все изменения, внесённые после того, как был установлен данный объект Savepoint.

void setAutoCommit​(boolean autoCommit)

Устанавливает режим автоматического подтверждения данного соединения в заданное состояние.

void setCatalog​(String catalog)

Устанавливает указанное имя каталога, чтобы выбрать подпространство базы данных данного объекта Connection для работы.

void setClientInfo​(String name, String value)

Устанавливает значение свойства client info, заданного по имени, в значение, указанное value.

void setClientInfo​(Properties properties)

Устанавливает значения свойств client info соединения.

void setHoldability​(int holdability)

Изменяет удерживаемость по умолчанию объектов ResultSet , созданных с использованием данного объекта Connection , на заданную удерживаемость.

void setNetworkTimeout​(Executor executor, int milliseconds)

Устанавливает максимальный период ожидания ответа базы данных для запроса или объектов, созданных от Connection.

void setReadOnly​(boolean readOnly)

Переводит это соединение в режим только для чтения, как подсказка драйверу для включения оптимизаций базы данных.

Savepoint setSavepoint()

Создаёт безымянный контрольный пункт в текущей транзакции и возвращает новый объект Savepoint , представляющий его.

Savepoint setSavepoint​(String name)

Создаёт контрольный пункт с заданным именем в текущей транзакции и возвращает новый объект Savepoint , представляющий его.

void setSchema​(String schema)

Устанавливает указанное имя схемы для доступа.

default void setShardingKey​(ShardingKey shardingKey)

Указывает shardingKey для использования с этим соединением Connection

default void setShardingKey​(ShardingKey shardingKey, ShardingKey superShardingKey)

Указывает shardingKey и superShardingKey для использования с этим соединением

default boolean setShardingKeyIfValid​(ShardingKey shardingKey, int timeout)

Устанавливает и проверяет ключ фрагментации для этого соединения.

default boolean setShardingKeyIfValid​(ShardingKey shardingKey, ShardingKey superShardingKey, int timeout)

Устанавливает и проверяет ключи фрагментации для этого соединения.

void setTransactionIsolation​(int level)

Попытка изменить уровень изоляции транзакций для этого объекта Connection на заданный.

void setTypeMap​(Map<String,​Class<?>> map)

Устанавливает заданный объект TypeMap в качестве карты типов для этого объекта Connection.

Методы, объявленные в интерфейсе java.sql.Wrapper

isWrapperFor, 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 не будет выполнен. Это не оказывает прямого влияния на пользователя, но влияет на то, какие методы выбрасывают определённые объекты SQLException.

Наборы результатов, созданные с помощью возвращаемого объекта CallableStatement, по умолчанию имеют тип TYPE_FORWARD_ONLY и уровень конкурентности CONCUR_READ_ONLY. Уровень удерживания созданных наборов результатов можно определить, вызвав getHoldability().

Параметры:
sql - SQL-запрос, который может содержать один или несколько заполнительных параметров '?' . Обычно этот запрос указывается с использованием синтаксиса JDBC call.
Возвращает:
новый объект CallableStatement по умолчанию, содержащий предварительно скомпилированный SQL-запрос
Имеет исключения:
SQLException - если произошла ошибка доступа к базе данных или метод вызван для закрытого соединения

nativeSQL

String nativeSQL(String sql)
          throws SQLException

Преобразует данный SQL-запрос в системную родную SQL-грамматику. Драйвер может преобразовать JDBC SQL-грамматику в собственную системную SQL-грамматику перед отправкой. Этот метод возвращает родную форму запроса, который драйвер отправил бы.

Параметры:
sql - SQL-запрос, который может содержать один или несколько заполнительных параметров '?'
Возвращает:
родную форму этого запроса
Имеет исключения:
SQLException - если произошла ошибка доступа к базе данных или метод вызван для закрытого соединения

setAutoCommit

void setAutoCommit(boolean autoCommit)
            throws SQLException

Устанавливает режим автоматического подтверждения соединения на заданное состояние. Если соединение находится в режиме автоматического подтверждения, все SQL-запросы будут выполняться и подтверждаться как отдельные транзакции. В противном случае SQL-запросы группируются в транзакции, которые завершаются вызовом метода commit или метода rollback. По умолчанию новые соединения находятся в режиме автоматического подтверждения.

Подтверждение происходит при завершении запроса. Время завершения запроса зависит от типа SQL-запроса:

  • Для DML-запросов, таких как Insert, Update или Delete, и DDL-запросов запрос завершается как только завершается его выполнение.
  • Для Select-запросов запрос завершается, когда связанный набор результатов закрыт.
  • Для объектов CallableStatement или для запросов, возвращающих несколько результатов, запрос завершается, когда все связанные наборы результатов закрыты, и все счётчики обновлений и параметры вывода были извлечены.

ПРИМЕЧАНИЕ: Если этот метод вызывается во время транзакции и режим автоматического подтверждения изменяется, транзакция подтверждается. Если вызов setAutoCommit и режим автоматического подтверждения не меняется, вызов является бездейственным.

Параметры:
autoCommit - true для включения режима автоматического подтверждения; false для его отключения
Имеет исключения:
SQLException - если произошла ошибка доступа к базе данных, вызов setAutoCommit(true) вызывается во время участия в распределённой транзакции или метод вызывается для закрытого соединения
См. также:
getAutoCommit()

getAutoCommit

boolean getAutoCommit()
               throws SQLException

Возвращает текущий режим автоматического подтверждения для этого объекта Connection.

Возвращает:
текущее состояние режима автоматического подтверждения объекта Connection
Имеет исключения:
SQLException - если произошла ошибка доступа к базе данных или метод вызван для закрытого соединения
См. также:
setAutoCommit(boolean)

commit

void commit()
     throws SQLException

Делает все изменения, внесённые с момента предыдущего подтверждения/отката, постоянными и освобождает все блокировки базы данных, которые в настоящее время удерживаются объектом Connection . Этот метод должен использоваться только при отключённом режиме автоматического подтверждения.

Имеет исключения:
SQLException - если произошла ошибка доступа к базе данных, этот метод вызывается во время участия в распределённой транзакции, если этот метод вызывается для закрытого соединения или этот объект Connection находится в режиме автоматического подтверждения
См. также:
setAutoCommit(boolean)

rollback

void rollback()
       throws SQLException

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

Имеет исключения:
SQLException - если произошла ошибка доступа к базе данных, этот метод вызывается во время участия в распределённой транзакции, этот метод вызывается для закрытого соединения или этот объект Connection находится в режиме автоматического подтверждения
См. также:
setAutoCommit(boolean)

close

void close()
    throws SQLException

Освобождает ресурсы базы данных и JDBC объекта 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 или prepareCall. Для максимальной переносимости setCatalog следует вызывать перед созданием или подготовкой Statement.

Параметры:
catalog - имя каталога (подпространства в базе данных этого Connection объекта), в котором необходимо работать
Выбрасывает:
SQLException - если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
См. также:
getCatalog()

getCatalog

String getCatalog()
           throws SQLException

Возвращает текущее имя каталога этого Connection объекта.

Возвращает:
текущее имя каталога или null, если его нет
Выбрасывает:
SQLException - если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
См. также:
setCatalog(java.lang.String)

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 констант
См. также:
DatabaseMetaData.supportsTransactionIsolationLevel(int), getTransactionIsolation()

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 - если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
См. также:
setTransactionIsolation(int)

getWarnings

SQLWarning getWarnings()
                throws SQLException

Возвращает первое предупреждение, полученное в результате вызовов для этого Connection объекта. Если предупреждений более одного, последующие предупреждения будут присоединены к первому, и их можно получить, вызвав метод SQLWarning.getNextWarning на предупреждении, полученном ранее.

Этот метод не может быть вызван для закрытого соединения; в противном случае будет выброшено SQLException.

Примечание: Последующие предупреждения будут присоединены к этому SQLWarning.

Возвращает:
первый SQLWarning объект или null если их нет
Выбрасывает:
SQLException - если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
См. также:
SQLWarning

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 драйвер не поддерживает этот метод или метод не поддерживается для указанного типа набора результатов и параллельности набора результатов.
Since:
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 драйвер не поддерживает этот метод или метод не поддерживается для указанного типа набора результатов и параллельности набора результатов.
Since:
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 драйвер не поддерживает этот метод или метод не поддерживается для указанного типа набора результатов и параллельности набора результатов.
Since:
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 драйвер не поддерживает этот метод
Since:
1.2
См. также:
setTypeMap(java.util.Map<java.lang.String, java.lang.Class<?>>)

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
См. также:
getTypeMap()

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(), DatabaseMetaData.getResultSetHoldability(), ResultSet

getHoldability

int getHoldability()
            throws SQLException

Возвращает текущую возможность удержания объектов ResultSet, созданных с помощью этого объекта Connection.

Возвращает:
возможность удержания, одна из ResultSet.HOLD_CURSORS_OVER_COMMIT или ResultSet.CLOSE_CURSORS_AT_COMMIT
Исключения:
SQLException - если возникает ошибка доступа к базе данных или этот метод вызывается на закрытом соединении
С тех пор:
1.4
См. также:
setHoldability(int), DatabaseMetaData.getResultSetHoldability(), ResultSet

setSavepoint

Savepoint setSavepoint()
                throws SQLException

Создаёт неопределённую точку сохранения в текущей транзакции и возвращает новый объект Savepoint, представляющий её.

если setSavepoint вызывается вне активной транзакции, транзакция будет начата в этой вновь созданной точке сохранения.

Возвращает:
новый объект Savepoint
Исключения:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызывается во время участия в распределённой транзакции, этот метод вызывается на закрытом соединении или этот объект Connection в данный момент находится в режиме автоматического подтверждения
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.4
См. также:
Savepoint

setSavepoint

Savepoint setSavepoint(String name)
                throws SQLException

Создаёт точку сохранения с заданным именем в текущей транзакции и возвращает новый объект Savepoint, представляющий её.

если setSavepoint вызывается вне активной транзакции, транзакция будет начата в этой вновь созданной точке сохранения.

Параметры:
name - строка String, содержащая имя точки сохранения
Возвращает:
новый объект Savepoint
Исключения:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызывается во время участия в распределённой транзакции, этот метод вызывается на закрытом соединении или этот объект Connection в данный момент находится в режиме автоматического подтверждения
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.4
См. также:
Savepoint

rollback

void rollback(Savepoint savepoint)
       throws SQLException

Отменяет все изменения, внесённые после того, как был установлен указанный объект Savepoint.

Этот метод следует использовать только при отключённом автоматическом подтверждении.

Параметры:
savepoint - объект Savepoint для отката
Исключения:
SQLException - если возникает ошибка доступа к базе данных, этот метод вызывается во время участия в распределённой транзакции, этот метод вызывается на закрытом соединении, объект Savepoint больше не действителен, или этот объект Connection в данный момент находится в режиме автоматического подтверждения
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.4
См. также:
Savepoint, rollback()

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
См. также:
ResultSet

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
См. также:
ResultSet

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
См. также:
ResultSet

prepareStatement

PreparedStatement prepareStatement(String sql,
                                   int autoGeneratedKeys)
                            throws SQLException

Создаёт объект PreparedStatement по умолчанию, обладающий возможностью извлечения автоматически сгенерированных ключей. Указанный константный параметр определяет, следует ли драйверу предоставлять автоматически сгенерированные ключи для извлечения. Этот параметр игнорируется, если SQL-запрос не является запросом INSERT или запросом SQL, способным возвращать автоматически сгенерированные ключи (список таких запросов зависит от поставщика).

Примечание: Этот метод оптимизирован для обработки параметрических SQL-запросов, которые выигрывают от предварительной компиляции. Если драйвер поддерживает предварительную компиляцию, метод prepareStatement отправит запрос в базу данных для предварительной компиляции. Некоторые драйверы могут не поддерживать предварительную компиляцию. В этом случае запрос может не быть отправлен в базу данных до выполнения объекта PreparedStatement. Это не оказывает прямого влияния на пользователей, но влияет на то, какие методы выбрасывают определённые исключения SQLException.

Наборы результатов, созданные с помощью возвращённого объекта PreparedStatement, по умолчанию будут типа TYPE_FORWARD_ONLY и иметь уровень параллельности CONCUR_READ_ONLY. Уровень удержания созданных наборов результатов можно определить, вызвав getHoldability().

Параметры:
sql - SQL-запрос, который может содержать один или несколько заполнительных параметров '?' IN
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-запрос с параметрами IN или без них может быть предварительно скомпилирован и сохранён в объекте PreparedStatement. Этот объект может затем использоваться для эффективного выполнения этого запроса несколько раз.

Примечание: Этот метод оптимизирован для обработки параметрических SQL-запросов, которые выигрывают от предварительной компиляции. Если драйвер поддерживает предварительную компиляцию, метод prepareStatement отправит запрос в базу данных для предварительной компиляции. Некоторые драйверы могут не поддерживать предварительную компиляцию. В этом случае запрос может не быть отправлен в базу данных до выполнения объекта PreparedStatement. Это не оказывает прямого влияния на пользователей, но влияет на то, какие методы выбрасывают определённые исключения SQLException.

Наборы результатов, созданные с помощью возвращённого объекта PreparedStatement, по умолчанию будут типа TYPE_FORWARD_ONLY и иметь уровень параллельности CONCUR_READ_ONLY. Уровень удержания созданных наборов результатов можно определить, вызвав getHoldability().

Параметры:
sql - SQL-запрос, который может содержать один или несколько заполнительных параметров '?' IN
columnIndexes - массив индексов столбцов, указывающих столбцы, которые должны быть возвращены из вставленной строки или строк
Возвращает:
новый объект PreparedStatement, содержащий предварительно скомпилированный запрос, способный возвращать автоматически сгенерированные ключи, определённые заданным массивом индексов столбцов
Выбрасывает:
SQLException - если произошла ошибка доступа к базе данных или этот метод был вызван на закрытом соединении
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
С:
1.4

prepareStatement

PreparedStatement prepareStatement(String sql,
                                   String[] columnNames)
                            throws SQLException

Создаёт объект PreparedStatement по умолчанию, способный возвращать автоматически сгенерированные ключи, определённые заданным массивом. Этот массив содержит имена столбцов в целевой таблице, которые содержат автоматически сгенерированные ключи, которые должны быть возвращены. Драйвер проигнорирует массив, если SQL-запрос не является запросом INSERT или запросом SQL, способным возвращать автоматически сгенерированные ключи (список таких запросов зависит от поставщика).

SQL-запрос с параметрами IN или без них может быть предварительно скомпилирован и сохранён в объекте PreparedStatement. Этот объект может затем использоваться для эффективного выполнения этого запроса несколько раз.

Примечание: Этот метод оптимизирован для обработки параметрических SQL-запросов, которые выигрывают от предварительной компиляции. Если драйвер поддерживает предварительную компиляцию, метод prepareStatement отправит запрос в базу данных для предварительной компиляции. Некоторые драйверы могут не поддерживать предварительную компиляцию. В этом случае запрос может не быть отправлен в базу данных до выполнения объекта PreparedStatement. Это не оказывает прямого влияния на пользователей, но влияет на то, какие методы выбрасывают определённые исключения SQLException.

Наборы результатов, созданные с помощью возвращённого объекта PreparedStatement, по умолчанию будут типа TYPE_FORWARD_ONLY и иметь уровень параллельности CONCUR_READ_ONLY. Уровень удержания созданных наборов результатов можно определить, вызвав getHoldability().

Параметры:
sql - SQL-запрос, который может содержать один или несколько заполнительных параметров '?' IN
columnNames - массив имён столбцов, указывающих столбцы, которые должны быть возвращены из вставленной строки или строк
Возвращает:
новый объект PreparedStatement, содержащий предварительно скомпилированный запрос, способный возвращать автоматически сгенерированные ключи, определённые заданным массивом имён столбцов
Выбрасывает:
SQLException - если произошла ошибка доступа к базе данных или этот метод был вызван на закрытом соединении
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
С:
1.4

createClob

Clob createClob()
         throws SQLException

Создаёт объект, реализующий интерфейс Clob. Возвращаемый объект изначально не содержит данных. Методы setAsciiStream, setCharacterStream и setString интерфейса Clob могут быть использованы для добавления данных в Clob.

Возвращает:
Объект, реализующий интерфейс Clob
Выбрасывает:
SQLException - если объект, реализующий интерфейс Clob , не может быть создан, этот метод был вызван на закрытом соединении или произошла ошибка доступа к базе данных.
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот тип данных
С:
1.6

createBlob

Blob createBlob()
         throws SQLException

Создаёт объект, реализующий интерфейс Blob . Возвращаемый объект изначально не содержит данных. Методы setBinaryStream и setBytes интерфейса Blob могут быть использованы для добавления данных в Blob.

Возвращает:
Объект, реализующий интерфейс Blob
Выбрасывает:
SQLException - если объект, реализующий интерфейс Blob , не может быть создан, этот метод был вызван на закрытом соединении или произошла ошибка доступа к базе данных.
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот тип данных
С:
1.6

createNClob

NClob createNClob()
           throws SQLException

Создаёт объект, реализующий интерфейс NClob . Возвращаемый объект изначально не содержит данных. Методы setAsciiStream, setCharacterStream и setString интерфейса NClob могут быть использованы для добавления данных в NClob.

Возвращает:
Объект, реализующий интерфейс NClob
Выбрасывает:
SQLException - если объект, реализующий интерфейс NClob , не может быть создан, этот метод был вызван на закрытом соединении или произошла ошибка доступа к базе данных.
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот тип данных
С:
1.6

createSQLXML

SQLXML createSQLXML()
             throws SQLException

Создаёт объект, реализующий интерфейс SQLXML . Возвращаемый объект изначально не содержит данных. Метод createXmlStreamWriter и setString интерфейса SQLXML могут быть использованы для добавления данных в объект SQLXML.

Возвращает:
Объект, реализующий интерфейс SQLXML
Выбрасывает:
SQLException - если объект, реализующий интерфейс SQLXML , не может быть создан, этот метод был вызван на закрытом соединении или произошла ошибка доступа к базе данных.
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот тип данных
С:
1.6

isValid

boolean isValid(int timeout)
         throws SQLException

Возвращает true, если соединение не было закрыто и по-прежнему валидно. Драйвер должен отправить запрос на соединение или использовать другой механизм, который положительно подтверждает, что соединение всё ещё валидно, когда этот метод вызывается.

Запрос, отправленный драйвером для проверки соединения, должен быть выполнен в контексте текущей транзакции.

Параметры:
timeout - Время в секундах ожидания операции базы данных, используемой для проверки соединения. Если период таймаута истекает до завершения операции, этот метод возвращает false. Значение 0 означает, что таймаут для операции базы данных не применяется.
Возвращает:
true, если соединение валидно, false в противном случае
Выбрасывает:
SQLException - если значение, предоставленное для timeout, меньше 0
С:
1.6
См. также:
DatabaseMetaData.getClientInfoProperties()

setClientInfo

void setClientInfo(String name,
                   String value)
            throws SQLClientInfoException

Устанавливает значение свойства client info, заданного именем name, в значение, заданное значением value.

Приложения могут использовать метод DatabaseMetaData.getClientInfoProperties для определения свойств client info, поддерживаемых драйвером, и максимальной длины, которая может быть задана для каждого свойства.

Драйвер сохраняет заданное значение в подходящем месте в базе данных. Например, в специальном регистре, параметре сеанса или столбце таблицы системы. Для повышения эффективности драйвер может отложить установку значения в базе данных до следующего выполнения или подготовки оператора. Помимо хранения информации о клиенте в соответствующем месте базы данных, эти методы не изменят поведение соединения никоим образом. Значения, предоставленные этим методам, используются только для целей учета, диагностики и отладки.

Драйвер должен сгенерировать предупреждение, если имя client info, указанное в параметре, не распознается драйвером.

Если значение, указанное в этом методе, больше максимальной длины свойства, драйвер может либо обрезать значение и сгенерировать предупреждение, либо сгенерировать SQLClientInfoException. Если драйвер генерирует SQLClientInfoException, заданное значение не было установлено в соединении.

Ниже приведены стандартные свойства client info. Драйверам не требуется поддерживать эти свойства, однако, если драйвер поддерживает свойство client info, которое можно описать одним из стандартных свойств, должно использоваться стандартное имя свойства.

  • ApplicationName - Имя приложения, в настоящее время использующего соединение
  • ClientUser - Имя пользователя, для которого приложение, использующее соединение, выполняет работу. Это может не совпадать с именем пользователя, которое было использовано при установлении соединения.
  • ClientHostname - Имя хоста компьютера, на котором выполняется приложение, использующее соединение.
Параметры:
name - Имя свойства client info, которое нужно установить
value - Значение, которому нужно установить свойство client info. Если значение равно null, текущее значение указанного свойства очищается.
Исключение:
SQLClientInfoException - если сервер базы данных возвращает ошибку при установке значения client info на сервере базы данных или этот метод вызван для закрытого соединения
С тех пор:
1.6

setClientInfo

void setClientInfo(Properties properties)
            throws SQLClientInfoException

Устанавливает значения свойств client info соединения. Объект Properties содержит имена и значения свойств client info, которые нужно установить. Набор свойств client info, содержащихся в списке свойств, заменяет текущий набор свойств client info в соединении. Если свойство, которое в настоящее время установлено в соединении, отсутствует в списке свойств, это свойство очищается. Указание пустого списка свойств очистит все свойства в соединении. См. setClientInfo (String, String) для получения дополнительной информации.

Если при установке любого из свойств client info произойдет ошибка, будет выброшено исключение SQLClientInfoException. Исключение SQLClientInfoException содержит информацию, указывающую, какие свойства client info не были установлены. Состояние информации о клиенте неизвестно, потому что некоторые базы данных не позволяют устанавливать несколько свойств client info атомарно. Для этих баз данных одно или несколько свойств могут быть установлены до возникновения ошибки.

Параметры:
properties - список свойств client info, которые нужно установить
Исключение:
SQLClientInfoException - если сервер базы данных возвращает ошибку при установке значений clientInfo на сервере базы данных или этот метод вызван для закрытого соединения
С тех пор:
1.6
См. также:
setClientInfo(String, String)

getClientInfo

String getClientInfo(String name)
              throws SQLException

Возвращает значение свойства client info, заданного именем. Этот метод может возвращать null, если указанное свойство client info не было установлено и не имеет значения по умолчанию. Этот метод также вернет null, если указанное имя свойства client info не поддерживается драйвером.

Приложения могут использовать метод DatabaseMetaData.getClientInfoProperties для определения свойств client info, поддерживаемых драйвером.

Параметры:
name - Имя свойства client info, которое нужно получить
Возвращает:
Значение указанного свойства client info
Исключение:
SQLException - если сервер базы данных возвращает ошибку при получении значения client info из базы данных или этот метод вызван для закрытого соединения
С тех пор:
1.6
См. также:
DatabaseMetaData.getClientInfoProperties()

getClientInfo

Properties getClientInfo()
                  throws SQLException

Возвращает список, содержащий имя и текущее значение каждого свойства client info, поддерживаемого драйвером. Значение свойства client info может быть null, если свойство не было установлено и не имеет значения по умолчанию.

Возвращает:
Объект Properties, содержащий имя и текущее значение каждого из свойств client info, поддерживаемых драйвером.
Исключение:
SQLException - если сервер базы данных возвращает ошибку при получении значений client info из базы данных или этот метод вызван для закрытого соединения
С тех пор:
1.6

createArrayOf

Array createArrayOf(String typeName,
                    Object[] elements)
             throws SQLException

Метод-фабрика для создания объектов Array.

Примечание: Когда createArrayOf используется для создания объекта массива, отображающего примитивный тип данных, тогда определяется реализацией, является ли объект Array массивом этого примитивного типа данных или массивом Object.

Примечание: Драйвер JDBC отвечает за отображение элементов Object массива в стандартный тип JDBC SQL, определенный в 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

Метод-фабрика для создания объектов Struct.

Параметры:
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. Определяется реализацией, происходит ли операция подготовки DBMS немедленно при вызове метода Connection prepareStatement или prepareCall. Для максимальной переносимости, setSchema должен быть вызван до создания или подготовки Statement.

Параметры:
schema - имя схемы, в которой необходимо работать
Исключение:
SQLException - если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
С тех пор:
1.7
См. также:
getSchema()

getSchema

String getSchema()
          throws SQLException

Возвращает текущее имя схемы этого объекта Connection.

Возвращает:
текущее имя схемы или null, если её нет
Исключение:
SQLException - если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения
С тех пор:
1.7
См. также:
setSchema(java.lang.String)

abort

void abort(Executor executor)
    throws SQLException

Прерывает открытое соединение. Вызов abort приводит к:

  • Соединение помечено как закрытое
  • Закрытие любого физического соединения с базой данных
  • Освобождение ресурсов, используемых соединением
  • Обеспечение того, что любая нить, которая в настоящее время обращается к соединению, либо завершит свою работу, либо выбросит исключение SQLException.

Вызов abort помечает соединение закрытым и освобождает все ресурсы. Вызов abort для закрытого соединения является бесполезной операцией.

Возможная длительность прерывания и освобождения ресурсов, удерживаемых соединением, может занять значительное время. Когда метод abort возвращает значение, соединение будет помечено как закрытое, и Executor , переданное в качестве параметра abort, может по-прежнему выполнять задачи по освобождению ресурсов.

Этот метод проверяет наличие объекта SQLPermission перед разрешением продолжения работы метода. Если объект SecurityManager существует и метод checkPermission отклоняет вызов abort, этот метод выбрасывает java.lang.SecurityException.

Параметры:
executor - Реализация Executor, которая будет использована abort.
Исключения:
SQLException - если произошла ошибка доступа к базе данных или executor имеет значение null,
SecurityException - если существует диспетчер безопасности, и его метод checkPermission запрещает вызов abort
С тех пор:
1.7
См. также:
SecurityManager.checkPermission(java.security.Permission), Executor

setNetworkTimeout

void setNetworkTimeout(Executor executor,
                       int milliseconds)
                throws SQLException

Устанавливает максимальный период ожидания ответа базы данных от Connection или объектов, созданных из Connection. Если какой-либо запрос остаётся без ответа, метод ожидания вернёт SQLException, а Connection или объекты, созданные из Connection, будут помечены как закрытые. Любое последующее использование объектов, за исключением методов close, isClosed или Connection.isValid, приведёт к SQLException.

Примечание: Этот метод предназначен для решения редкой, но серьёзной проблемы, когда сетевые разделения могут привести к зависанию потоков, выполняющих вызовы JDBC, в чтении сокетов, до достижения TCP-TIMEOUT операционной системы (обычно 10 минут). Этот метод связан с методом abort() , который предоставляет административному потоку возможность освободить такие потоки в тех случаях, когда соединение JDBC доступно административному потоку. Метод setNetworkTimeout будет покрывать случаи, когда административного потока нет или он не имеет доступа к соединению. Этот метод имеет серьёзные последствия и должен быть задан достаточно высоким значением, чтобы никогда не срабатывать до более стандартных таймаутов, таких как таймауты транзакции.

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

Драйверы могут реализовывать некоторые или все свои вызовы API с помощью нескольких внутренних передач драйвер-база данных, и драйверу предоставлена возможность определить, будет ли ограничение применяться всегда к ответу на вызов API или к каждому отдельному запросу, сделанному во время вызова API.

Этот метод может быть вызван более одного раза, например, для установки лимита для участка кода JDBC и для сброса до значения по умолчанию при выходе из этого участка. Вызов этого метода не влияет на уже открытые запросы.

Значение таймаута Statement.setQueryTimeout() независимо от значения таймаута, указанного в setNetworkTimeout. Если таймаут запроса истекает до истечения сетевого таймаута, выполнение заявления будет отменено. Если сеть всё ещё активна, результатом будет то, что как заявление, так и подключение по-прежнему пригодны для использования. Однако, если сетевой таймаут истекает до таймаута запроса или таймаут заявления завершается из-за проблем с сетью, подключение будет помечено как закрытое, все ресурсы, удерживаемые подключением, будут освобождены, и подключение, и заявление станут непригодны для использования.

Когда драйвер определяет, что значение таймаута setNetworkTimeout истекло, драйвер JDBC помечает соединение как закрытое и освобождает любые ресурсы, удерживаемые соединением.

Этот метод проверяет наличие объекта SQLPermission перед продолжением. Если диспетчер безопасности SecurityManager существует, и его метод checkPermission запрещает вызов setNetworkTimeout, этот метод выбрасывает исключение java.lang.SecurityException.

Параметры:
executor - Реализация Executor, которая будет использована setNetworkTimeout.
milliseconds - Время в миллисекундах, которое необходимо ожидать для завершения операции базы данных. Если драйвер JDBC не поддерживает миллисекунды, драйвер JDBC округляет значение до ближайшей секунды. Если период таймаута истекает до завершения операции, будет выброшено исключение SQLException. Значение 0 указывает, что нет таймаута для операций с базой данных.
Исключения:
SQLException - если произошла ошибка доступа к базе данных, этот метод вызван для закрытого соединения, executor имеет значение null, или значение, заданное для seconds, меньше 0.
SecurityException - если существует диспетчер безопасности и его метод checkPermission запрещает вызов setNetworkTimeout.
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.7
См. также:
SecurityManager.checkPermission(java.security.Permission), Statement.setQueryTimeout(int), getNetworkTimeout(), abort(java.util.concurrent.Executor), Executor

getNetworkTimeout

int getNetworkTimeout()
               throws SQLException

Возвращает количество миллисекунд, которые драйвер будет ожидать завершения запроса к базе данных. Если предел превышен, будет выброшено исключение.

Возвращает:
текущее ограничение таймаута в миллисекундах; ноль означает отсутствие ограничения
Исключения:
SQLException - если произошла ошибка доступа к базе данных или этот метод был вызван для закрытого Connection
SQLFeatureNotSupportedException - если драйвер JDBC не поддерживает этот метод
С тех пор:
1.7
См. также:
setNetworkTimeout(java.util.concurrent.Executor, int)

beginRequest

default void beginRequest()
                   throws SQLException

Уведомляет драйвер о начале запроса — независимой единицы работы в этом подключении. Каждый запрос независим от других запросов, в отношении состояния, локального для подключения, как на клиенте, так и на сервере. Работа, проведённая между парами beginRequest, endRequest, не зависит от любой другой работы с подключением, как части другого запроса, или вне любого запроса. Запрос может включать в себя несколько транзакций. Могут быть зависимости от подтверждённого состояния базы данных, поскольку оно не является локальным для подключения.

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

Вызовы beginRequest и endRequest не являются вложенными. Несколько вызовов beginRequest без промежуточного вызова endRequest не являются ошибкой. Первый вызов beginRequest отмечает начало запроса, а последующие вызовы обрабатываются как бесполезные операции.

Использование beginRequest и endRequest является необязательным, специфичным для поставщика и должно быть в основном прозрачным. В частности, реализации могут обнаруживать условия, указывающие на зависимость от другой работы, например, от открытой транзакции. Однако рекомендуется (хотя и не обязательно), чтобы реализации выбрасывали исключение SQLException, если существует активная транзакция, и вызывается метод beginRequest. Использование этих методов может улучшить производительность или предоставить другие преимущества. Обратитесь к документации вашего поставщика для получения дополнительной информации.

Рекомендуется заключать каждую единицу работы в пары beginRequest, endRequest, чтобы в начале или конце запроса не было открытой транзакции и не было зависимости от локального состояния, пересекающего границы запросов. Подтверждённое состояние базы данных не является локальным.

Примечание API:
Этот метод предназначен для использования менеджерами пулов подключений.

Менеджер пула подключений должен вызвать beginRequest на базовом подключении перед возвращением подключения вызывающей стороне.

Менеджеру пула подключений нет необходимости вызывать beginRequest если:

  • Пул подключений кеширует объекты PooledConnection
  • Возвращает логическую ручку подключения при вызове getConnection приложением
  • Логическое Connection закрывается вызовом Connection.close перед возвращением PooledConnection в кеш.
Требования к реализации:
Реализация по умолчанию — это бесполезная операция.
Исключения:
SQLException - если произошла ошибка
С тех пор:
9
См. также:
endRequest(), PooledConnection

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
См. также:
beginRequest(), PooledConnection

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 — если при выполнении этой проверки возникает ошибка; superSharedingKey указан без shardingKey; этот метод вызывается для закрытого connection; или значение timeout отрицательное.
SQLFeatureNotSupportedException — если драйвер не поддерживает фрагментацию
С:
9
См. также:
ShardingKey, ShardingKeyBuilder

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
См. также:
ShardingKey, ShardingKeyBuilder

setShardingKey

default void setShardingKey(ShardingKey shardingKey,
                            ShardingKey superShardingKey)
                     throws SQLException

Устанавливает ключ фрагментации и супер-ключ фрагментации для использования с этим соединением.

Примечание API:
Этот метод устанавливает указанные ключи фрагментации, но не требует обратного запроса к базе данных для проверки того, что ключи фрагментации валидны для Connection.
Требования к реализации:
Стандартная реализация выбросит SQLFeatureNotSupportedException.
Параметры:
shardingKey — ключ фрагментации, который нужно установить в этом соединении. Ключ фрагментации может быть null
superShardingKey — супер-ключ фрагментации, который нужно установить в этом соединении. Супер-ключ фрагментации может быть null
Выбрасывает:
SQLException — если при установке ключей фрагментации возникла ошибка; этот метод вызывается для закрытого connection; или superSharedingKey указан без shardingKey
SQLFeatureNotSupportedException — если драйвер не поддерживает фрагментацию
С:
9
См. также:
ShardingKey, ShardingKeyBuilder

setShardingKey

default void setShardingKey(ShardingKey shardingKey)
                     throws SQLException

Устанавливает ключ фрагментации для использования с этим соединением.

Примечание API:
Этот метод устанавливает указанный ключ фрагментации, но не требует обратного запроса к базе данных для проверки того, что ключ фрагментации валиден для Connection.
Требования к реализации:
Стандартная реализация выбросит SQLFeatureNotSupportedException.
Параметры:
shardingKey — ключ фрагментации, который нужно установить в этом соединении. Ключ фрагментации может быть null
Выбрасывает:
SQLException — если при установке ключа фрагментации возникла ошибка; или этот метод вызывается для закрытого connection
SQLFeatureNotSupportedException — если драйвер не поддерживает фрагментацию
С:
9
См. также:
ShardingKey, ShardingKeyBuilder

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.sql/java/sql/Connection.html

Spec-Zone .ru
спецификации, руководства, описания, API