Интерфейс Joinable
- Все известные подинтерфейсы:
-
CachedRowSet,FilteredRowSet,JdbcRowSet,JoinRowSet,WebRowSet
public interface Joinable
1.0 Общие сведения
ИнтерфейсJoinable предоставляет методы для получения и установки столбца соответствия, который является основой для формирования SQL JOIN, образованного путем добавления RowSet объектов в объект JoinRowSet. Любая стандартная реализация RowSet может реализовать интерфейс Joinable для добавления в объект JoinRowSet. Реализация этого интерфейса предоставляет объекту RowSet возможность использовать методы Joinable, которые устанавливают, извлекают и получают информацию о столбцах соответствия. Приложение может добавить объект RowSet, который не реализовал интерфейс Joinable, в объект JoinRowSet, но для этого необходимо использовать один из методов JoinRowSet.addRowSet, который принимает как объект RowSet, так и столбец соответствия, или массив объектов RowSet и массив столбцов соответствия.
Для доступа к методам интерфейса Joinable, объект RowSet реализует как минимум один из пяти стандартных интерфейсов RowSet и также реализует интерфейс Joinable. Кроме того, большинство объектов RowSet расширяют класс BaseRowSet. Например:
class MyRowSetImpl extends BaseRowSet implements CachedRowSet, Joinable {
:
:
}
2.0 Руководство по использованию
Методы интерфейса Joinable позволяют объекту RowSet установить столбец соответствия, извлечь столбец соответствия или сбросить столбец соответствия, на основе которого может быть построен SQL JOIN. Экземпляр класса, реализующего эти методы, может быть добавлен в объект JoinRowSet для установления SQL JOIN отношения.
CachedRowSet crs = new MyRowSetImpl();
crs.populate((ResultSet)rs);
(Joinable)crs.setMatchColumnIndex(1);
JoinRowSet jrs = new JoinRowSetImpl();
jrs.addRowSet(crs);
В предыдущем примере crs — это объект CachedRowSet, который реализовал интерфейс Joinable. В следующем примере crs2 этого не сделал, поэтому он должен указать столбец соответствия как аргумент метода addRowSet. Этот пример предполагает, что столбец 1 является столбцом соответствия.
CachedRowSet crs2 = new MyRowSetImpl();
crs2.populate((ResultSet)rs);
JoinRowSet jrs2 = new JoinRowSetImpl();
jrs2.addRowSet(crs2, 1);
Интерфейс JoinRowSet позволяет получить данные из одного или нескольких объектов RowSet, объединенных в одну таблицу, без необходимости создания подключения к базе данных. Поэтому он идеально подходит для использования с отключенными объектами RowSet. Тем не менее, любой объект RowSet может реализовать этот интерфейс независимо от того, подключен он или нет. Обратите внимание, что объект JdbcRowSet, всегда подключенный к источнику данных, может стать частью SQL JOIN напрямую, без необходимости стать частью объекта JoinRowSet.
3.0 Управление несколькими столбцами соответствия
Массив индексов, передаваемый в методыsetMatchColumn, указывает, сколько столбцов соответствия устанавливается (длина массива), а также какие столбцы будут использоваться для соответствия. Например:
int[] i = {1, 2, 4, 7}; // indicates four match columns, with column
// indexes 1, 2, 4, 7 participating in the JOIN.
Joinable.setMatchColumn(i);
Последующие столбцы соответствия можно добавить следующим образом в другой объект Joinable (объект RowSet, реализующий интерфейс Joinable).
int[] w = {3, 2, 5, 3};
Joinable2.setMatchColumn(w);
Когда приложение добавляет два или более объекта RowSet в объект JoinRowSet, порядок индексов в массиве имеет особое значение. Каждый индекс массива напрямую соответствует соответствующему индексу ранее добавленного объекта RowSet. Если произойдет перекрытие или недостаток, данные столбца соответствия сохраняются в случае добавления дополнительного объекта Joinable RowSet, которому необходимо установить отношение к данным столбца соответствия. Таким образом, приложения могут устанавливать несколько столбцов соответствия в любом порядке, но этот порядок непосредственно влияет на результат SQL JOIN. Это утверждение применяется точно так же, когда для указания столбцов соответствия используются имена столбцов, а не индексы столбцов.
- С тех пор как:
- 1.5
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int[] |
getMatchColumnIndexes() |
Возвращает индексы столбцов соответствия, которые были установлены для этого объекта RowSet методом setMatchColumn(int[] columnIdxes). |
String[] |
getMatchColumnNames() |
Возвращает имена столбцов соответствия, которые были установлены для этого объекта RowSet методом setMatchColumn(String [] columnNames). |
void |
setMatchColumn |
Устанавливает указанный столбец в качестве столбца соответствия для этого объекта RowSet. |
void |
setMatchColumn |
Устанавливает указанные столбцы в качестве столбца соответствия для этого объекта RowSet. |
void |
setMatchColumn |
Устанавливает указанный столбец в качестве столбца соответствия для этого объекта RowSet. |
void |
setMatchColumn |
Устанавливает указанные столбцы в качестве столбцов соответствия для этого объекта RowSet. |
void |
unsetMatchColumn |
Сбрасывает указанный столбец в качестве столбца соответствия для этого объекта RowSet. |
void |
unsetMatchColumn |
Сбрасывает указанные столбцы в качестве столбцов соответствия для этого объекта RowSet. |
void |
unsetMatchColumn |
Сбрасывает указанный столбец в качестве столбца соответствия для этого объекта RowSet. |
void |
unsetMatchColumn |
Сбрасывает указанные столбцы в качестве столбцов соответствия для этого объекта RowSet. |
Подробное описание методов
setMatchColumn
void setMatchColumn(int columnIdx) throws SQLException
Подинтерфейсы, такие как интерфейс, определяют метод, который позволяет применять семантику первичного ключа к определённым столбцам. Реализации метода должны гарантировать, что ограничения на столбцы ключа сохраняются, когда объект устанавливает столбец первичного ключа в качестве столбца совпадения.
- Параметры:
-
columnIdx- целое число, определяющее индекс столбца, который необходимо установить в качестве столбца совпадения - Исключения:
-
SQLException- если установлен некорректный индекс столбца - См. также:
setMatchColumn
void setMatchColumn(int[] columnIdxes) throws SQLException
- Параметры:
-
columnIdxes- массив целых чисел, определяющий индексы столбцов, которые необходимо установить в качестве столбцов совпадения - Исключения:
-
SQLException- если установлен некорректный индекс столбца - См. также:
setMatchColumn
void setMatchColumn(String columnName) throws SQLException
Подинтерфейсы, такие как интерфейс, определяют метод, который позволяет применять семантику первичного ключа к определённым столбцам. Реализации метода должны гарантировать, что ограничения на столбцы ключа сохраняются, когда объект устанавливает столбец первичного ключа в качестве столбца совпадения.
- Параметры:
-
columnName- объект String, содержащий имя столбца, который необходимо установить в качестве столбца совпадения - Исключения:
-
SQLException- если задано некорректное имя столбца, имя столбца null или пустая строка - См. также:
setMatchColumn
void setMatchColumn(String[] columnNames) throws SQLException
- Параметры:
-
columnNames- массив объектов String, содержащих имена столбцов, которые необходимо установить в качестве столбцов совпадения - Исключения:
-
SQLException- если задано некорректное имя столбца, имя столбца null или пустая строка - См. также:
getMatchColumnIndexes
int[] getMatchColumnIndexes() throws SQLException
- Возвращает:
- массив целых чисел, определяющий индексы столбцов, установленных в качестве столбцов совпадения для этого объекта
- Исключения:
-
SQLException- если столбец совпадения не был установлен - См. также:
getMatchColumnNames
String[] getMatchColumnNames() throws SQLException
- Возвращает:
- массив объектов String, содержащих имена столбцов, установленных в качестве столбцов совпадения для этого объекта
- Исключения:
-
SQLException- если столбец совпадения не был установлен - См. также:
unsetMatchColumn
void unsetMatchColumn(int columnIdx) throws SQLException
Объекты, реализующие интерфейс, должны гарантировать, что ограничение типа ключа продолжает применяться до тех пор, пока метод не будет вызван для указанного столбца.
- Параметры:
-
columnIdx- целое число, определяющее индекс столбца, который необходимо отменить как столбец совпадения - Исключения:
-
SQLException- если указан некорректный индекс столбца или указанный столбец ранее не был установлен как столбец совпадения - См. также:
unsetMatchColumn
void unsetMatchColumn(int[] columnIdxes) throws SQLException
- Параметры:
-
columnIdxes- массив целых чисел, определяющий индексы столбцов, которые необходимо отменить как столбцы совпадения - Исключения:
-
SQLException- если указан некорректный индекс столбца или указанный столбец ранее не был установлен как столбец совпадения - См. также:
unsetMatchColumn
void unsetMatchColumn(String columnName) throws SQLException
Объекты, реализующие интерфейс, должны гарантировать, что ограничение типа ключа продолжает применяться до тех пор, пока метод не будет вызван для указанного столбца.
- Параметры:
-
columnName- объект String, содержащий имя столбца, который необходимо отменить как столбец совпадения - Исключения:
-
SQLException- если указано некорректное имя столбца или указанный столбец ранее не был установлен как столбец совпадения - См. также:
unsetMatchColumn
void unsetMatchColumn(String[] columnName) throws SQLException
- Параметры:
-
columnName- массив объектов String, содержащих имена столбцов, которые необходимо отменить как столбцы совпадения - Исключения:
-
SQLException- если указано некорректное имя столбца или указанный столбец ранее не был установлен как столбец совпадения - См. также:
© 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.rowset/javax/sql/rowset/Joinable.html