След: JDBC (ТМ) Доступ к базе данных
Урок: Основы JDBC
Используя Усовершенствованные Типы данных
Домашняя страница > JDBC (ТМ) Доступ к базе данных > Основы JDBC

Используя Усовершенствованные Типы данных

Усовершенствованные типы данных, представленные в этом разделе, дают реляционной базе данных больше гибкости в том, что может использоваться в качестве значения для столбца таблицы. Например, столбец может использоваться, чтобы сохранить BLOB значения (большого двоичного объекта), которые могут сохранить очень большие объемы данных как необработанные байты. Столбец может также иметь тип CLOB (символьный большой объект), который способен к хранению очень больших объемов данных в символьном формате.

Последняя версия стандарта SQL ANSI/ISO обычно упоминается как SQL:2003. Этот стандарт определяет следующие типы данных:

Отображение Усовершенствованных Типов данных

API JDBC обеспечивает отображения значения по умолчанию для усовершенствованных типов данных, определенных стандартом SQL:2003. Следующий список дает типы данных и интерфейсы или классы, на которые они отображаются:

Используя Усовершенствованные Типы данных

Вы получаете, храните, и обновляете усовершенствованные типы данных тем же самым путем, Вы обрабатываете другие типы данных. Вы используете также ResultSet.getDataType или CallableStatement.getDataType методы, чтобы получить их, PreparedStatement.setDataType методы, чтобы сохранить их, и ResultSet.updateDataType методы, чтобы обновить их. (Переменная DataType имя интерфейса Java или class, отображенного на усовершенствованный тип данных.), Вероятно, 90 процентов операций, выполняемых на усовершенствованных типах данных, включают использование getDataType, setDataType, и updateDataType методы. Следующие табличные шоу, который методы использовать:

Усовершенствованный Тип данных getDataType Метод setDataType метод updateDataType Метод
BLOB getBlob setBlob updateBlob
CLOB getClob setClob updateClob
NCLOB getNClob setNClob updateNClob
ARRAY getArray setArray updateArray
XML getSQLXML setSQLXML updateSQLXML
Structured type getObject setObject updateObject
REF(structured type) getRef setRef updateRef
ROWID getRowId setRowId updateRowId
DISTINCT getBigDecimal setBigDecimal updateBigDecimal
DATALINK getURL setURL updateURL

Отметьте: DISTINCT тип данных ведет себя по-другому от других усовершенствованных типов данных SQL. Будучи определяемым пользователем типом, который уже основан на существующие встроенные типы, у этого нет никакого интерфейса как его отображения в языке программирования Java. Следовательно, Вы используете метод, который соответствует типу Java на который DISTINCT тип данных базируется. См. Используя ОТЛИЧНЫЙ Тип данных для получения дополнительной информации.

Например, следующий фрагмент кода получает SQL ARRAY значение. Для этого примера предположите что столбец SCORES в таблице STUDENTS содержит значения типа ARRAY. Переменная stmt a Statement объект.

ResultSet rs = stmt.executeQuery(
    "SELECT SCORES FROM STUDENTS " +
    "WHERE ID = 002238");
rs.next();
Array scores = rs.getArray("SCORES");

Переменная scores логический указатель на SQL ARRAY объект хранится в таблице STUDENTS в строке для студента 002238.

Если Вы хотите сохранить значение в базе данных, Вы используете соответствующее set метод. Например то, следующий фрагмент кода, в который rs a ResultSet объект, a хранилищ Clob объект:

Clob notes = rs.getClob("NOTES");
PreparedStatement pstmt =
    con.prepareStatement(
        "UPDATE MARKETS SET COMMENTS = ? " +
        "WHERE SALES < 1000000");
pstmt.setClob(1, notes);
pstmt.executeUpdate();

Это кодовые наборы notes как первый параметр в операторе обновления, отправляемом базе данных. Clob значение, определяемое notes будет сохранен в таблице MARKETS в столбце COMMENTS в каждой строке, где значение в столбце SALES меньше чем один миллион.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Используя Объекты WebRowSet
Следующая страница: Используя Большие Объекты



Spec-Zone.ru - all specs in one place