ヘッダーをスキップ

Oracle Database 2日でJava開発者ガイド
11g リリース1(11.1)

E05692-02
目次
目次
索引
索引

戻る 次へ

1 Oracle DatabaseでのJavaの使用

Oracle Databaseは、データの格納、使用および変更に使用できるリレーショナル・データベースです。Javaアプリケーションでは、リレーショナル・データベースのデータのアクセスおよび操作に、Java Database Connectivity(JDBC)標準が使用されます。

JDBCは、Sun社が開発した業界標準のApplication Program Interface(API)です。JDBCを使用すると、JavaコードにSQL文を埋め込むことができます。JDBCは、X/Open SQL Call Level Interface(CLI)に基づいており、SQL92 Entry Level規格に準拠しています。Oracleなどの各ベンダーは、標準java.sqlパッケージのインタフェースを実装することによって、JDBC実装を作成しています。

関連項目:
  • http://java.sun.com/javase/technologies/database/index.jsp

 

このマニュアルでは、簡単なJavaアプリケーションを使用し、Oracle Databaseに接続してデータベースのデータにアクセスおよび変更する方法について説明します。また、従業員データを表示するためのマスター・ディテール・アプリケーションの開発には、Oracle Application Development Framework(ADF)が使用されます。

この章では、このマニュアルで作成されるJavaアプリケーションの概要、およびJavaアプリケーションの開発に使用できるツールについて説明します。この章の内容は、次のとおりです。

Javaを使用したOracle Databaseへの接続

JDBCはデータベース・アクセス・プロトコルです。JDBCを使用してデータベースに接続し、データベースに対してSQL文を実行して問合せを行うことができます。コアのJavaクラス・ライブラリには、JDBC API、java.sqlおよびjavax.sqlが用意されています。ただし、JDBCは、ベンダーが特定のデータベースに対して必要な特別機能を持つドライバを提供できるように設計されています。


注意:

Oracle Database 11g リリース1では、JDK 5以上がサポートされています。今回のリリースのJDBCサポートには、ojdbc5.jarファイルおよびojdbc6.jarファイルが含まれています。ojdbc6.jarファイルによって、JDBC 4.0との整合性が提供されます。このファイルを使用するには、JDK 6が必要です。 


Oracle Databaseでは、JDBC Thinドライバ、Oracle Call Interface(OCI)ドライバおよびoracle.sqlパッケージとoracle.jdbcパッケージを使用したクライアント側アプリケーションの開発がサポートされています。これらのパッケージのクラスおよびインタフェースによって、JDBC標準を拡張します。これにより、Oracleのデータ型にアクセスして変更したり、JDBC用のOracleパフォーマンス拡張をJavaアプリケーションで非常に柔軟に使用できるようになります。

次の項では、JDBC標準に対するOracleサポートについて説明します。

Oracle JDBC Thinドライバ

ほとんどの場合、JDBC Thinドライバを使用することをお薦めします。JDBC-OCIは、OCI固有の機能の場合にのみ必要となります。

JDBC Thinドライバは、Pure JavaのType IVドライバです。JDBC Thinドライバでは、JavaTM 2 Platform Standard Edition 5.0(Java Development Kit(JDK)5とも呼ばれる)がサポートされています。また、JDK 6に対するサポートも含まれています。JDBC Thinドライバはプラットフォームに依存していないため、クライアント側アプリケーションの開発にその他のOracleソフトウェアを必要としません。JDBC Thinドライバは、SQL*Netを使用してサーバーと通信を行い、Oracle Databaseにアクセスします。

JDBC Thinドライバを使用すると、Oracleネットワーク・プロトコルのPure Java実装(Two-Task Common(TTCプロトコル)およびSQL*Net)を提供することによって、データベースへの直接接続が可能になります。ドライバでは、TCP/IPプロトコルがサポートされており、データベース・サーバーのTCP/IPソケットにTransparent Network Substrate(TNS)リスナーが必要です。Thinドライバは、適切なJava仮想マシン(Java Virtual Machine: JVM)があるマシンであれば、どのマシン上でも機能します。

Oracle固有のJDBC機能および標準機能にアクセスするには、oracle.jdbcパッケージを使用します。

Oracle JDBC OCIドライバ

JDBC OCIドライバは、Javaアプリケーションで使用されるType IIドライバです。JDBC OCIドライバを使用するには、Oracleクライアント・インストールが必要です。JDBC OCIドライバでは、プロセス間通信(IPC)、Named Pipes、TCP/IP、InternetworkPacket Exchange/Sequenced Packet Exchange(IPX/SPX)など、インストールされているすべてのOracle Netアダプタがサポートされています。

OCIはAPIの1つであり、OCIを使用すると、ネイティブ・プロシージャまたはファンクション・コールを使用するアプリケーションを作成できます。JDBC OCIドライバはJavaおよびCを組み合せて記述されており、JDBCコールをOCIへのコールに変換します。変換は、Cエントリ・ポイントをコールするネイティブ・メソッドを使用して行われます。これらのコールは、SQL*Netを使用してデータベースとの通信を行います。

Oracle JDBCパッケージ

JDBC APIに対するOracleサポートは、oracle.jdbcパッケージおよびoracle.sqlパッケージによって提供されています。これらのパッケージでは、Java Development Kit(JDK)リリース1.5から1.6がすべてサポートされています。

oracle.sql

oracle.sqlパッケージにより、SQL形式のデータへの直接アクセスがサポートされます。このパッケージは、主に、SQLデータへのJavaマッピングを提供するクラスとそれらのサポート・クラスによって構成されます。基本的に、クラスは、SQLデータのJavaラッパーとして機能します。キャラクタは、Java charsに変換されてから、UCS-2キャラクタ・セットのバイトに変換されます。それぞれのoracle.sql.*データ型クラスによって、oracle.sql.Datum(すべてのデータ型に共通したファンクションと機能を含むスーパークラス)が拡張されます。一部のクラスは、JDBC 2.0準拠データ型用です。データ型クラス以外に、oracle.sqlパッケージでは、オブジェクトおよびコレクションで使用するクラスとインタフェースがサポートされています。

oracle.jdbc

oracle.jdbcパッケージのインタフェースでは、java.sqlパッケージのインタフェースに対するOracleの拡張機能が定義されます。これらの拡張機能によって、Oracle SQL形式のデータにアクセスできるようになります。また、その他のOracle固有の機能(Oracleのパフォーマンス拡張など)にアクセスできるようにもなります。

このパッケージの主要なクラスとインタフェースでは、標準のJDBC機能をサポートし、次のような処理を実行するメソッドがあります。

JDeveloperを使用したJDBCアプリケーションの作成

このマニュアルのJavaアプリケーション・チュートリアルでは、Oracle JDeveloper 10g リリース10.1.3を統合開発環境(IDE)として使用し、Javaアプリケーションの開発、およびユーザーがデータを表示して変更するためのWebページの作成を行います。

Oracle JDeveloperは、JavaアプリケーションおよびWebサービスのモデリング、開発、デバッグ、最適化およびデプロイをサポートするIDEです。

JDeveloperには、Javaプログラムに埋め込まれたSQL文を使用してデータベースにアクセスするJavaプログラムを作成し、テストするための機能が備えられています。JDeveloperには、データベースに関して次の処理を行うファンクションおよび機能が備えられています。

JDeveloperユーザー・インタフェース

Oracle JDeveloperは、様々なアプリケーション開発ツール用のウィンドウを使用するIDEです。ウィンドウの表示/非表示を切り替えたり、ウィンドウをドッキング/ドッキング解除して、作業方法に合ったデスクトップを作成できます。

これらのツール以外に、JDeveloperには、プロジェクトの内容を分類し表示できる多くのナビゲータが備えられています。アプリケーション・ナビゲータおよびシステム・ナビゲータには、プロジェクトのファイルが表示され、構造ウィンドウには、個別の項目の構造が表示されます。

ウィンドウは、任意に配置し、「表示」メニューから開いたり終了することができます。図1-1に、JDeveloperユーザー・インタフェース(GUI)で使用可能なナビゲータ、パレットおよび作業領域のデフォルトのレイアウトを示します。

図1-1    JDeveloperユーザー・インタフェース


画像の説明

関連項目:

JDeveloperオンライン・ヘルプのIDEでのウィンドウの処理に関する項を参照してください。 

JDeveloperツール

JDeveloperでは、次のツールを使用してJavaアプリケーションを簡単に作成できます。

JDeveloper UI内でのこれらのツールへのアクセス方法についてより理解するには、図1-1を参照してください。

サンプルJavaアプリケーションの概要

このマニュアルでは、Java、JDBCおよびOracle ADFを使用してアプリケーションを作成する方法について説明します。このアプリケーションには、次のファンクションおよび機能を組み込みます。

  1. ユーザーがログインしたり、ユーザー名およびパスワードを検証できるようにします。

  2. データベース接続を確立します。

  3. データベースでデータを問い合せ、JavaBeanを使用してデータを取得します。

  4. JavaServer Pages(JSP)テクノロジを使用して、データを表示します。

  5. ユーザーがレコードを挿入、更新または削除できるようにします。

  6. マスター・ディテール・アプリケーションの情報にアクセスし、変更します。

  7. 例外を処理します。


    注意:

    アプリケーションは、Oracle Databaseに付属のHRスキーマに接続します。Oracle Databaseのクライアント・インストールにはThinドライバとOCIドライバの両方が付属していますが、サンプル・アプリケーションでは、JDBC Thinドライバのみが使用されます。 


アプリケーションWebページ(JSPページ)の概要

図1-2に、このアプリケーションに対して開発されるページ間の関係を示します。

図1-2    サンプル・アプリケーションのWebページ


画像の説明

サンプル・アプリケーションのWebページの概要は、次のとおりです。

クラス

サンプル・アプリケーションには、次のクラスが含まれています。

開発者フレームワークを使用した高度なアプリケーション開発

Web、ワイヤレス、デスクトップまたはWebサービス・インタフェースを使用してデータを検索、表示、作成、変更および検証するエンタープライズ・ソリューションを開発する場合、作業を簡素化するには開発者フレームワークを使用する必要があります。

フレームワークを使用すると、開発者は、明確に定義されたインタフェースに基づいてコードを作成できます。これにより、大幅に時間を節約できます。また、Java EEフレームワークにはエンタープライズ・アプリケーションに必要なインフラストラクチャが備えられているため、Java EE環境という点においても有益です。つまり、Java EEフレームワークによって、Java EEデザイン・パターンに表現される概念をより具体化します。

Oracle Application Development Framework(Oracle ADF)は、Java EE標準およびオープンソース・テクノロジに基づくエンドツーエンド・アプリケーション・フレームワークであり、サービス指向アプリケーションの実装を簡素化および促進します。

機能の豊富な環境を使用することにより、複雑なアプリケーションをどのように簡単に作成できるようになるかについては、第7章のマスター・ディテール・アプリケーションを参照してください。


戻る 次へ
Oracle
Copyright © 2007 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引