Интерфейс 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, который должен быть связан с данными столбца соответствия. Таким образом, приложения могут устанавливать несколько столбцов соответствия в любом порядке, но этот порядок напрямую влияет на результат соединения 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
RowSet объекта. Теперь объект JoinRowSet может добавить этот RowSet объект на основе столбца соответствия. Подинтерфейсы, такие как интерфейс CachedRowSet, определяют метод CachedRowSet.setKeyColumns, который позволяет применять семантику первичного ключа к определённым столбцам. Реализации метода setMatchColumn(int columnIdx) должны гарантировать, что ограничения на столбцы ключа сохраняются, когда объект CachedRowSet устанавливает столбец первичного ключа в качестве столбца соответствия.
- Параметры:
-
columnIdx- целое число, определяющее индекс столбца, который должен быть установлен в качестве столбца соответствия - Исключения:
-
SQLException- если установлен неверный индекс столбца - См. также:
setMatchColumn
void setMatchColumn(int[] columnIdxes) throws SQLException
RowSet. Теперь объект JoinRowSet может добавить этот объект RowSet на основе столбцов соответствия.- Параметры:
-
columnIdxes- массив целых чисел, определяющий индексы столбцов, которые должны быть установлены в качестве столбцов соответствия - Исключения:
-
SQLException- если установлен неверный индекс столбца - См. также:
setMatchColumn
void setMatchColumn(String columnName) throws SQLException
RowSet объекта. Теперь объект JoinRowSet может добавить этот объект RowSet на основе столбца соответствия. Подинтерфейсы, такие как интерфейс CachedRowSet, определяют метод CachedRowSet.setKeyColumns, который позволяет применять семантику первичного ключа к определённым столбцам. Реализации метода setMatchColumn(String columnIdx) должны гарантировать, что ограничения на столбцы ключа сохраняются, когда объект CachedRowSet устанавливает столбец первичного ключа в качестве столбца соответствия.
- Параметры:
-
columnName- объект String, указывающий имя столбца, который должен быть установлен в качестве столбца соответствия - Исключения:
-
SQLException- если установлено неверное имя столбца, имя столбца null или пустая строка - См. также:
setMatchColumn
void setMatchColumn(String[] columnNames) throws SQLException
RowSet. Теперь объект JoinRowSet может добавить этот объект RowSet на основе столбцов соответствия.- Параметры:
-
columnNames- массив объектов String, указывающий имена столбцов, которые должны быть установлены в качестве столбцов соответствия - Исключения:
-
SQLException- если установлено неверное имя столбца, имя столбца null или пустая строка - См. также:
getMatchColumnIndexes
int[] getMatchColumnIndexes() throws SQLException
RowSet с помощью метода setMatchColumn(int[] columnIdxes).- Возвращает:
- массив целых чисел, определяющий индексы столбцов, установленных в качестве столбцов соответствия для этого объекта
RowSet - Исключения:
-
SQLException- если столбец соответствия не установлен - См. также:
getMatchColumnNames
String[] getMatchColumnNames() throws SQLException
RowSet с помощью метода setMatchColumn(String [] columnNames).- Возвращает:
- массив объектов String, содержащий имена столбцов, установленных в качестве столбцов соответствия для этого объекта
RowSet - Исключения:
-
SQLException- если столбец соответствия не установлен - См. также:
unsetMatchColumn
void unsetMatchColumn(int columnIdx) throws SQLException
RowSet. Объекты RowSet, реализующие интерфейс Joinable, должны гарантировать, что ограничение типа ключа продолжает выполняться до тех пор, пока метод CachedRowSet.unsetKeyColumns не будет вызван для выделенного столбца.
- Параметры:
-
columnIdx- целое число, определяющее индекс столбца, который нужно удалить в качестве столбца соответствия - Исключения:
-
SQLException- если указан неверный индекс столбца или указанный столбец ранее не был установлен в качестве столбца соответствия - См. также:
unsetMatchColumn
void unsetMatchColumn(int[] columnIdxes) throws SQLException
RowSet.- Параметры:
-
columnIdxes- массив целых чисел, определяющий индексы столбцов, которые нужно удалить в качестве столбцов соответствия - Исключения:
-
SQLException- если указан неверный индекс столбца или указанный столбец ранее не был установлен в качестве столбца соответствия - См. также:
unsetMatchColumn
void unsetMatchColumn(String columnName) throws SQLException
RowSet. Объекты RowSet, реализующие интерфейс Joinable, должны гарантировать, что ограничение типа ключа продолжает выполняться до тех пор, пока метод CachedRowSet.unsetKeyColumns не будет вызван для выделенного столбца.
- Параметры:
-
columnName- объект String, указывающий имя столбца, который нужно удалить в качестве столбца соответствия - Исключения:
-
SQLException- если указано неверное имя столбца или указанный столбец ранее не был установлен в качестве столбца соответствия - См. также:
unsetMatchColumn
void unsetMatchColumn(String[] columnName) throws SQLException
RowSet.- Параметры:
-
columnName- массив объектов String, указывающий имена столбцов, которые нужно удалить в качестве столбцов соответствия - Исключения:
-
SQLException- если указано неверное имя столбца или указанный столбец ранее не был установлен в качестве столбца соответствия - См. также:
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.sql.rowset/javax/sql/rowset/Joinable.html