Spec-Zone.ru › OpenJDK 8

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

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

public interface Connection
extends Wrapper, AutoCloseable

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

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

Примечание: При конфигурировании Connection, приложения JDBC должны использовать соответствующий метод Connection, такой как setAutoCommit или setTransactionIsolation. Приложения не должны напрямую вызывать SQL-команды для изменения конфигурации подключения, если доступен метод JDBC. По умолчанию объект Connection находится в режиме автоматического подтверждения, что означает автоматическое подтверждение изменений после выполнения каждого запроса. Если режим автоматического подтверждения отключён, метод commit должен быть вызван явно для подтверждения изменений; в противном случае изменения в базе данных не будут сохранены.

Новый объект Connection, созданный с помощью ядра JDBC 2.1 API, имеет связанную с ним карту типов, изначально пустую. Пользователь может ввести пользовательское отображение для 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);
См. также:
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)

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

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 с указанным типом, конкуретностью и holdability.

Struct createStruct(String typeName, Object[] attributes)

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

boolean getAutoCommit()

Возвращает текущий режим auto-commit для этого объекта Connection.

String getCatalog()

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

Properties getClientInfo()

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

String getClientInfo(String name)

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

int getHoldability()

Возвращает текущий holdability объектов 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 с указанным типом, конкуретностью и holdability.

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)

Устанавливает режим auto-commit соединения в заданное состояние.

void setCatalog(String catalog)

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

void setClientInfo(Properties properties)

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

void setClientInfo(String name, String value)

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

void setHoldability(int holdability)

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

void setNetworkTimeout(Executor executor, int milliseconds)

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

void setReadOnly(boolean readOnly)

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

Savepoint setSavepoint()

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

Savepoint setSavepoint(String name)

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

void setSchema(String schema)

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

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 escape.
Возвращает:
новый стандартный объект 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 - 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 - SQLException, если произошла ошибка доступа к базе данных или этот метод вызван для закрытого соединения

setCatalog

void setCatalog(String catalog)
         throws SQLException

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

Если драйвер не поддерживает каталоги, он проигнорирует этот запрос.

Вызов setCatalog не влияет на ранее созданные или подготовленные объекты Statement. Результат операции prepare DBMS в момент вызова метода Connection prepareStatement или 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 - 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. Если приложение не добавило запись, возвращаемая карта типов будет пустой.

Вы должны вызвать setTypeMap после внесения изменений в объект Map, возвращённый методом getTypeMap, так как драйвер 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(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 - строка, содержащая имя контрольного пункта
Возвращает:
новый объект 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-запрос, который может содержать один или несколько заполнительных параметров «?»
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. Это не оказывает прямого влияния на пользователей; однако это влияет на то, какие методы выбрасывают определенные исключения SQLException.

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

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

Параметры:
sql - SQL-запрос, который может содержать один или несколько заполнительных параметров «?»
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

Устанавливает значение свойства клиентской информации, заданного именем, на указанное значение.

Приложения могут использовать метод 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
См. также:
setClientInfo(String, String)

getClientInfo

String getClientInfo(String name)
              throws SQLException

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

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

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

getClientInfo

Properties getClientInfo()
                  throws SQLException

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

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

createArrayOf

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

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

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

Примечание: JDBC-драйвер отвечает за сопоставление элементов массива Object с типом SQL JDBC по умолчанию, определенным в java.sql.Types для данного класса Object. Сопоставление по умолчанию указано в приложении B спецификации JDBC. Если полученный тип JDBC не является соответствующим типом для данного typeName, то поведение, выбрасывается ли SQLException или драйвер поддерживает ли преобразование, является реализацией-специфичным.

Параметры:
typeName - имя SQL типа, к которому сопоставляются элементы массива. Имя типа является специфичным для базы данных именем, которое может быть именем встроенного типа, пользовательского типа или стандартного типа 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 или 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 запрещает вызов abort, этот метод генерирует исключение 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.

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

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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