Интерфейс Array
- Все известные реализующие классы:
- SerialArray
public interface Array
Сопоставление в языке программирования Java для типа SQL ARRAY. По умолчанию, значение Array представляет собой ссылку на период транзакции на значение SQL ARRAY. По умолчанию, объект Array реализуется с помощью внутреннего SQL LOCATOR(array), что означает, что объект Array содержит логическую ссылку на данные в значении SQL ARRAY, а не содержит данные значения ARRAY.
Интерфейс Array предоставляет методы для передачи данных значения SQL ARRAY клиенту в виде массива или объекта ResultSet. Если элементы SQL ARRAY являются UDT, они могут иметь пользовательское сопоставление. Для создания пользовательского сопоставления программисту необходимо сделать два шага:
- создать класс, реализующий интерфейс
SQLDataдля UDT, подлежащего пользовательскому сопоставлению. - создать запись в таблице типов, содержащую
- полное имя типа SQL UDT
- объект
Classдля класса, реализующегоSQLData
Когда в методы getArray и getResultSet передается таблица типов со записью для базового типа, используемое в ней сопоставление будет использовано для сопоставления элементов значения ARRAY. Если таблица типов не передана, что обычно происходит, по умолчанию используется таблица типов подключения. Если таблица типов подключения или таблица типов, переданная в метод, не содержит записи для базового типа, элементы сопоставляются в соответствии со стандартным сопоставлением.
Все методы интерфейса Array должны быть полностью реализованы, если драйвер JDBC поддерживает тип данных.
- С:
- 1.2
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
free() Этот метод освобождает объект |
Object |
getArray() Извлекает содержимое значения SQL |
Object |
getArray(long index,
int count) Извлекает фрагмент значения SQL |
Object |
getArray(long index,
int count,
Map<String,Class<?>> map) Извлекает фрагмент значения SQL |
Object |
getArray(Map<String,Class<?>> map) Извлекает содержимое значения SQL |
int |
getBaseType() Извлекает тип JDBC элементов в массиве, обозначенном этим объектом |
String |
getBaseTypeName() Извлекает имя типа SQL элементов в массиве, обозначенном этим объектом |
ResultSet |
getResultSet() Извлекает набор результатов, содержащий элементы значения SQL |
ResultSet |
getResultSet(long index,
int count) Извлекает набор результатов, содержащий элементы подмассива, начинающегося с индекса |
ResultSet |
getResultSet(long index,
int count,
Map<String,Class<?>> map) Извлекает набор результатов, содержащий элементы подмассива, начинающегося с индекса |
ResultSet |
getResultSet(Map<String,Class<?>> map) Извлекает набор результатов, содержащий элементы значения SQL |
Методы
getBaseTypeName
String getBaseTypeName()
throws SQLException Возвращает имя SQL типа элементов в массиве, обозначенном этим Array объектом. Если элементы являются встроенным типом, возвращается имя типа, специфичное для базы данных. Если элементы являются пользователем определенным типом (UDT), этот метод возвращает полное имя SQL типа.
- Возвращает:
- строку, представляющую собой имя типа, специфичное для базы данных для встроенного базового типа; или полное имя SQL типа для базового типа, являющегося UDT
- Выбрасывает:
-
SQLException- если при попытке получить имя типа возникла ошибка -
SQLFeatureNotSupportedException- если JDBC драйвер не поддерживает этот метод - С:
- 1.2
getBaseType
int getBaseType()
throws SQLException Возвращает JDBC тип элементов в массиве, обозначенном этим Array объектом.
- Возвращает:
- константу из класса
Types, которая представляет собой код типа элементов в массиве, обозначенном этимArrayобъектом - Выбрасывает:
-
SQLException- если при попытке получить базовый тип возникла ошибка -
SQLFeatureNotSupportedException- если JDBC драйвер не поддерживает этот метод - С:
- 1.2
getArray
Object getArray()
throws SQLException Возвращает содержимое SQL ARRAY значения, обозначенного этим Array объектом, в виде массива на языке программирования Java. Этот вариант метода getArray использует карту типов, связанную с подключением, для настройки сопоставлений типов.
Примечание: Когда getArray используется для материализации базового типа, который сопоставляется с примитивным типом данных, тогда реализация определяет, является ли возвращаемый массив массивом этого примитивного типа данных или массивом Object.
- Возвращает:
- массив на языке программирования Java, содержащий упорядоченные элементы SQL
ARRAYзначения, обозначенного этимArrayобъектом - Выбрасывает:
-
SQLException- если при попытке получить массив возникла ошибка -
SQLFeatureNotSupportedException- если JDBC драйвер не поддерживает этот метод - С:
- 1.2
getArray
Object getArray(Map<String,Class<?>> map)
throws SQLException Возвращает содержимое SQL ARRAY значения, обозначенного этим Array объектом. Этот метод использует указанную map для настройки сопоставлений типов, если базовый тип массива не соответствует пользовательскому типу в map, в противном случае используется стандартное отображение. Этот вариант метода getArray использует либо заданную карту типов, либо стандартное отображение; он никогда не использует карту типов, связанную с подключением.
Примечание: Когда getArray используется для материализации базового типа, который сопоставляется с примитивным типом данных, тогда реализация определяет, является ли возвращаемый массив массивом этого примитивного типа данных или массивом Object.
- Параметры:
-
map- объектjava.util.Map, содержащий сопоставления имен SQL типов с классами на языке программирования Java - Возвращает:
- массив на языке программирования Java, содержащий упорядоченные элементы SQL массива, обозначенного этим объектом
- Выбрасывает:
-
SQLException- если при попытке получить массив возникла ошибка -
SQLFeatureNotSupportedException- если JDBC драйвер не поддерживает этот метод - С:
- 1.2
getArray
Object getArray(long index,
int count)
throws SQLException Возвращает фрагмент SQL ARRAY значения, обозначенного этим Array объектом, начиная с указанного index и содержащего до count последовательных элементов SQL массива. Этот метод использует карту типов, связанную с подключением, для настройки сопоставлений типов.
Примечание: Когда getArray используется для материализации базового типа, который сопоставляется с примитивным типом данных, тогда реализация определяет, является ли возвращаемый массив массивом этого примитивного типа данных или массивом Object.
- Параметры:
-
index- индекс массива первого элемента для извлечения; первый элемент имеет индекс 1 -
count- количество последовательных элементов SQL массива для извлечения - Возвращает:
- массив, содержащий до
countпоследовательных элементов SQL массива, начиная с элементаindex - Выбрасывает:
-
SQLException- если при попытке получить массив возникла ошибка -
SQLFeatureNotSupportedException- если JDBC драйвер не поддерживает этот метод - С:
- 1.2
getArray
Object getArray(long index,
int count,
Map<String,Class<?>> map)
throws SQLException Извлекает фрагмент SQL ARRAY значения, обозначенного этим Array объектом, начиная с указанного index и содержащего до count последовательных элементов SQL массива.
Этот метод использует указанную map для настройки сопоставлений типов, если базовый тип массива не соответствует пользовательскому типу в map, в противном случае используется стандартное отображение. Этот вариант метода getArray использует либо заданную карту типов, либо стандартное отображение; он никогда не использует карту типов, связанную с подключением.
Примечание: Когда getArray используется для материализации базового типа, который сопоставляется с примитивным типом данных, тогда реализация определяет, является ли возвращаемый массив массивом этого примитивного типа данных или массивом Object.
- Параметры:
-
index- индекс массива первого элемента для извлечения; первый элемент имеет индекс 1 -
count- количество последовательных элементов SQL массива для извлечения -
map- объектjava.util.Map, содержащий имена SQL типов и классы на языке программирования Java, которым они сопоставляются - Возвращает:
- массив, содержащий до
countпоследовательных элементов SQLARRAYзначения, обозначенного этимArrayобъектом, начиная с элементаindex - Выбрасывает:
-
SQLException- если при попытке получить массив возникла ошибка -
SQLFeatureNotSupportedException- если JDBC драйвер не поддерживает этот метод - С:
- 1.2
getResultSet
ResultSet getResultSet()
throws SQLException Возвращает набор результатов, содержащий элементы SQL ARRAY значения, обозначенного этим Array объектом. При необходимости элементы массива сопоставляются с помощью карты типов подключения; в противном случае используется стандартное отображение.
Набор результатов содержит одну строку для каждого элемента массива с двумя столбцами в каждой строке. Второй столбец хранит значение элемента; первый столбец хранит индекс в массиве для этого элемента (первый элемент массива имеет индекс 1). Строки упорядочены по возрастанию, соответствующему порядку индексов.
- Возвращает:
- объект
ResultSet, содержащий по одной строке для каждого элемента в массиве, обозначенном этимArrayобъектом, с упорядочиванием строк по возрастанию на основе индексов. - Выбрасывает:
-
SQLException- если при попытке получить массив возникла ошибка -
SQLFeatureNotSupportedException- если JDBC драйвер не поддерживает этот метод - С:
- 1.2
getResultSet
ResultSet getResultSet(Map<String,Class<?>> map)
throws SQLException Возвращает набор результатов, содержащий элементы SQL ARRAY значения, обозначенного этим Array объектом. Этот метод использует указанную map для настройки сопоставлений типов, если базовый тип массива не соответствует пользовательскому типу в map, в противном случае используется стандартное отображение. Этот вариант метода getResultSet использует либо заданную карту типов, либо стандартное отображение; он никогда не использует карту типов, связанную с подключением.
Набор результатов содержит одну строку для каждого элемента массива с двумя столбцами в каждой строке. Второй столбец хранит значение элемента; первый столбец хранит индекс в массиве для этого элемента (первый элемент массива имеет индекс 1). Строки упорядочены по возрастанию, соответствующему порядку индексов.
- Параметры:
-
map- содержит сопоставление SQL пользовательских типов с классами на языке программирования Java - Возвращает:
- объект
ResultSet, содержащий по одной строке для каждого элемента в массиве, обозначенном этимArrayобъектом, с упорядочиванием строк по возрастанию на основе индексов. - Выбрасывает:
-
SQLException- если при попытке получить массив возникла ошибка -
SQLFeatureNotSupportedException- если JDBC драйвер не поддерживает этот метод - С:
- 1.2
getResultSet
ResultSet getResultSet(long index,
int count)
throws SQLException Возвращает набор результатов, содержащий элементы подмассива, начинающегося с индекса index и содержащего до count последовательных элементов. Этот метод использует карту типов подключения для сопоставления элементов массива, если в карте есть запись для базового типа. В противном случае используется стандартное сопоставление.
Набор результатов содержит одну строку для каждого элемента SQL массива, обозначенного этим объектом, причём первая строка содержит элемент с индексом index. Набор результатов содержит до count строк, упорядоченных по возрастанию на основе индексов. Каждая строка имеет два столбца: второй столбец хранит значение элемента; первый столбец хранит индекс элемента в массиве.
- Параметры:
-
index- индекс массива первого элемента для извлечения; первый элемент имеет индекс 1 -
count- количество последовательных элементов SQL массива для извлечения - Возвращает:
- объект
ResultSet, содержащий доcountпоследовательных элементов SQL массива, обозначенного этимArrayобъектом, начиная с индексаindex. - Выбрасывает:
-
SQLException- если при попытке получить массив возникла ошибка -
SQLFeatureNotSupportedException- если JDBC драйвер не поддерживает этот метод - С:
- 1.2
getResultSet
ResultSet getResultSet(long index,
int count,
Map<String,Class<?>> map)
throws SQLException Извлекает набор результатов, содержащий элементы подмассива, начинающегося с индекса index и содержащего до count последовательных элементов. Этот метод использует указанную map для настройки отображения типов, если только базовый тип массива не соответствует пользовательскому типу в map, в этом случае используется стандартное отображение. Эта версия метода getResultSet использует либо указанное отображение типов, либо стандартное отображение; она никогда не использует отображение типов, связанное с подключением.
Набор результатов имеет одну строку для каждого элемента SQL-массива, обозначенного этим объектом, при этом первая строка содержит элемент с индексом index. Набор результатов содержит не более count строк в порядке возрастания индексов. Каждая строка имеет два столбца: второй столбец хранит значение элемента; первый столбец хранит индекс элемента в массиве.
- Параметры:
-
index- индекс массива первого извлекаемого элемента; первый элемент имеет индекс 1 -
count- количество последовательных элементов SQL-массива для извлечения -
map- объектMap, содержащий отображение имен типов SQL на классы языка программирования Java(tm) - Возвращает:
- объект
ResultSet, содержащий доcountпоследовательных элементов SQL-массива, обозначенного этим объектомArray, начиная с индексаindex. - Исключения:
-
SQLException- если возникла ошибка при попытке доступа к массиву -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С:
- 1.2
free
void free() throws SQLException
Этот метод освобождает объект Array и освобождает ресурсы, которые он удерживает. Объект становится недоступным после вызова метода free.
После вызова free, любая попытка вызвать метод, отличный от free, приведет к выбрасыванию SQLException. Если free вызывается несколько раз, последующие вызовы free обрабатываются как бездействие.
- Исключения:
-
SQLException- если при освобождении ресурсов массива произошла ошибка -
SQLFeatureNotSupportedException- если драйвер JDBC не поддерживает этот метод - С:
- 1.6
© 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.