[トライアル版連動企画]
Webアプリケーションの作成が一通り理解できる基礎講座
初めてJavaを使ってWebアプリケーションを構築するプログラマのために、アプリケーションサーバの環境構築からServlet、JSP、さらに踏み込んだところでEJBによるプログラミング、デバッグの方法などを計5回の連載で解説します。 一通り学び終わると、Webアプリケーションプログラミングの全体がすっきり見渡せるようになります。 |
第4回 エンティティBeanでDBのデータをマッピングする
|
今回は、EJB開発の第2回。エンティティBeanの開発を行う。JBuilder 4でEJB開発を行うための環境設定については、前回の記事を参照してほしい(なお、製品をお持ちでない方は第1回の記事を参照してトライアル版を入手してほしい)。
データベースの準備 |
エンティティBeanは、データベースデータをマッピングするBeanである(エンティティBeanの役割についてはこちらの記事を参考にしてほしい)。今回は、JBuilderのエンティティBeanモデラを使って、既存のデータベースのデータをマップしたBeanを自動生成する。使用するテーブルは、以下の2つである。
CATEGORY
列
|
データ型 | プライマリキー |
CATEGORY_NO | INTEGER NOT NULL | ○ |
NAME | VARCHAR(64) |
PRODUCT
列
|
データ型 | プライマリキー |
CODE | VARCHAR(20) NOT NULL | ○ |
CATEGORY_NO | INTEGER | |
NAME | VARCHAR(64) | |
PRICE | DOUBLE |
JBuilderに含まれるJDataStore用のデータベースファイルを用意した。今回の学習に使用するプログラムファイル名はpricelist.zipである。ファイル名をクリックしてダウンロードし、任意のディレクトリに展開してほしい。
エンティティBeanモデラ |
はじめに、新規プロジェクトを作成する。[必須ライブラリ]には、必ずInprise Application Server 4.1ライブラリを追加する。次に、EJBグループを作成する。ここでは、pricelistという名前を設定する。
次に、[ファイル|新規]メニューを選択し、[エンタープライズ]ページの[EJBエンティティBeanモデラ]ウィザードを実行する。最初のステップでは、作成したEJBグループを選択する。次に、使用するJDBCデータソースを指定する。
項目
|
値 |
ドライバ | com.borland.datastore.jdbc.DataStoreDriver |
URL | jdbc:borland:dslocal:(展開したディレクトリ)/pricelist.jds |
ユーザー名 | (任意) |
パスワード | (任意) |
拡張プロパティ | なし |
JNDI名 | DataSource |
画面1 JDBCデータソースの指定 (クリックすると拡大します) |
[次へ]ボタンを押すと、ウィザードはデータベースへ接続し、テーブルの一覧を表示する。ここで使用するテーブルを選択する。CATEGORYとPRODUCTを選択して、[次へ]ボタンを押す。次のステップでは、テーブルのリンクを設定するCATEGORYテーブルからPRODUCTテーブルへマウスをドラッグすると、「テーブルリンク」ダイアログが表示されて、リンクを設定できる。
画面2 テーブルのリンク (クリックすると拡大します) |
次の項目では、列のマップを定義する。ここでは、すべての定義をデフォルトのまま設定する。[次へ]ボタンを押し、生成するクラスの情報を定義する。[テーブル名]項目の選択を切り替えると、対応するクラスの情報が表示される。
画面3 パッケージ/クラス/名前の指定 (クリックすると拡大します) |
ここでも、デフォルトの設定を適用する。最後のステップでは、生成オプションを設定する。次のように、コンテナ管理型永続性(CMP)を選択する。
項目
|
値 |
エンティティBeanタイプ | コンテナ管理型永続性(CMP) |
コードスタイル EJB 1.1 | jdbc:borland:dslocal:(展開したディレクトリ)/pricelist.jds |
ホームインターフェイスに findAll()メソッドを生成 |
(チェックする) |
ヘッダコメントの生成 | (チェックしない) |
画面4 生成オプションの指定 (クリックすると拡大します) |
ウィザードを終了すると、以下のクラスがプロジェクトに追加される。
ファイル
|
説明 |
Category.java | Category Beanのリモートインターフェイス |
CategoryBean.java | Category Beanの実装クラス |
CategoryHome.java | Category Beanのホームインターフェイス |
Product.java | Product Beanのリモートインターフェイス |
ProductBean.java | Product Beanの実装クラス |
ProductHome.java | Product Beanのホームインターフェイス |
さらに、配布ディスクリプタには、必要な定義が追加されている。
プロジェクトペインで、CategoryHome.javaを選択し、マウスの右ボタンを押して[プロパティ]メニューを実行する。[ビルド]-[VisiBroker]の[IIOPの生成]をチェックして[OK]ボタンを押す。同じ設定をProductHome.javaにも行う。
クライアントの開発 |
|
連載記事一覧 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|