Язык SQL

Некоторые дополнительные возможности пакета JDBC


Возможности пакета JDBC 1.0, описанные в главах 8 и 9, весьма ограничены по сравнению с возможностями, предоставляемыми полнофункциональным языком обслуживания баз данных типа Oracle PLSQL. Вторая версия пакета программ JDBC API, JDBC 2.0, была значительно расширена, что делает ее сравнимой с другими полнофункциональными языками баз данных. Пакет JDBC 2.0 является частью версии Java 1.2 (или Java 2), которая в настоящее время является общепринятой версией языка Java.

Основные усовершенствования пакета JDBC связаны с результирующими множествами. В пакете JDBC 1.0 объект ResultSet позволяет пользователю осуществлять итерации по его строкам только в одном направлении. В пакете JDBC 2.0 результирующие множества поддерживают итерации в обоих направлениях. Кроме того, результирующее множество в пакете JDBC 2.0 можно использовать для изменения таблиц базы данных.

Пакет JDBC предлагает расширенную поддержку для типов данных SQL3, включая тип данных BLOB (Binary Large Object — Большой двоичный объект), CLOB (Character large object — Большой символьный объект), массивы й структурированные типы. Подобным образом пакет JDBC теперь поддерживает хранение сериализованных Java-объектов в базе данных и пакетное выполнение операторов обновления.

В пакете JDBC важную роль играют различные API-интерфейсы Java, в том числе и JTS (Java Transaction Service), JNDI (Java Naming and Directory Interface), JavaBeans, а также EJB (Enterprise JavaBeans).

Новый пакет javax.sql содержит ряд стандартных расширений, которые можно реализовать с помощью конкретных JDBC-пакетов. Эти расширения включают в себя поддержку совместного использования базы данных и интерпретации подключений в виде компонентов JavaBeans.

Интерфейс javax.sql.RowSet является расширением ResultSet, заключающим в себе множество строк. Он может поддерживать, а может и не поддерживать открытое подключение базы данных. Интерфейс RowSet может допускать множество реализаций, среди которых класс CachedRowSet, загружающий данные из ResultSet в локальную кэш-память, не зависящую от подключения к базе данных и использовавшегося для выборки данных оператора. После того как объект CachedRowSet сформирован и наполнен данными, его можно использовать независимо от использованного для его наполнения результирующего множества.

Комментарии закрыты