Интерфейс Array
- Все известные реализующие классы:
SerialArray
public interface Array
ARRAY. По умолчанию значение Array — это ссылка на значение SQL ARRAY с продолжительностью транзакции. По умолчанию объект Array реализуется с использованием внутреннего SQL LOCATOR(массив), что означает, что объект 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 в виде массива в языке программирования Java, указанного этим объектом Array. |
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 обрабатываются как no-op.
- Throws:
-
SQLException- если при высвобождении ресурсов массива произошла ошибка -
SQLFeatureNotSupportedException- если JDBC-драйвер не поддерживает этот метод - Since:
- 1.6
© 1993, 2021, 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/17/docs/api/java.sql/java/sql/Array.html