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