Базы данных Oracle - статьи

         

Интерфейсы JDBC и SQLJ, утилита JPub


Объектно-реляционные возможности предоставляют более естественный и продуктивный способ для поддержания согласованной структуры набора Java-классов на уровне приложения и модели данных на уровне хранения данных. В СУБД Oracle объектно-реляционные возможности тесно интегрированы со средой Java с помощью стандартных интерфейсов прикладного программирования JDBC и SQLJ. Объектные типы SQL могут быть отображены в Java-классы. Утилита JPublisher (JPub) автоматически генерирует файлы для JDBC или SQLJ с определениями Java-классов, реализующих эти отображения. Каждый сгенерированный Java-класс содержит определенные для него методы чтения состояния объектов с сервера базы данных и записи состояния на сервер. В свою очередь, Java-приложения могут использовать эти сгенерированные Java-классы для сохранения объектов в базе данных и их выборки из базы.

(Прим. ред. О стандарте JDBC см. например, [7]. О спецификациях SQLJ см. например, [8].)

Далее представлены фрагменты кода Java-класса, сгенерированные утилитой JPub.

// Создать Java-класс, который реализует интерфейс SQLData

public class JPurchaseOrder implements SQLData

{

public void readSQL (SQLInput stream, String typeName)

throws SQLException {…}

public void writeSQL (SQLOutput stream)

throws SQLException {…}

}

Этот Java-класс JPurchaseOrder может быть далее использован в следующей Java-программе для выборки объектов из базы данных.

// Экземпляры объекта можно рассматривать как Java-объекты

ResultSet rs = stmt.executeQuery("select value(p) from

purchase_order_tab p");

rs.next();

JPurchaseOrder jp = (JPurchaseOrder) rs.getObject(1);

String streetName = jp.shipAddr.street;



Содержание раздела