iBATISとは、Apacheのプロジェクトの1つとしてASF(Apache Software Foundation)で開発/管理されているO/Rマッピングツールです。2002年に発表され、2006年7月現在の最新バージョンは2.1.7です。
iBATISは「iBATIS SQL Maps」というO/Rマッピング機能と、「iBATIS DAO
Framework」というDAOパターン用のフレームワークで構成されています。「iBATIS SQL
Maps」はデータベースとJavaオブジェクトを容易にマッピングすることができるデータマッピング機能やデータキャッシュ、トランザクションといった
機能がサポートされています。
「iBATIS DAO
Framework」はJ2EEのDAOパターンをサポートしているので、DAOパターンの実装を容易にしてくれます。「iBATIS SQL
Maps」と「iBATIS DAO Framework」はそれぞれ独立したフレームワークとして提供されているので「iBATIS SQL
Maps」のみ利用といった使い方も可能です。

図1:iBATISの流れ
|
| iBATISのダウンロード
|
「iBATIS」を利用するにあたって、まず「iBATIS」のWebサイトからiBATIS Java 2.1.7をダウンロードしてください。

図2:「iBATIS」ダウンロードページ
なおダウンロードしたファイルは、適当な場所へ展開してください。 |
今回、自動生成ツールとしてAbator(Eclipse Plugin)を使用します。AbatorはiBATISのファイル自動生成ツールでiBATISの公式サイトで提供されており、Abatorが作成してくれるファイルは以下のとおりです。
- マッピング・ファイル
- DTOソースファイル
- DAOソースファイル
表1:Abatorが作成してくれるファイル
まずはAbatorをインストールします。Eclipseを起動させ、「ヘルプ → ソフトウェア更新 →
検索とインストール」を選択するとインストール/更新画面(図3)が表示されるので、「インストールする新規フィーチャーを検索」を選択して「次へ」をク
リックします。

図3:インストール/更新画面
インストール画面(図4)がでてきたら、「新規リモート・サイト」ボタンをクリックします。

図4:インストール画面
更新サイトの登録画面(図5)が表示されますので、名前とURL欄に表2のように入力して「OK」をクリックします。

図5:新規更新サイト画面
| 名前 |
Abator for iBATIS Update Site |
| URL |
http://ibatis.apache.org/tools/abator |
表2:更新サイト入力要項
登録が完了するとインストール画面の「検索に含めるサイト」の欄に「Abator for iBATIS Update Site」が表示されますので(図6)、これにチェックを入れて「終了」ボタンをクリックします。

図6:インストール画面(Abator for iBATIS Update Site表示)
後はインストールウィザードに従って進めるとインストールが完了します。
今回はEclipse上でサンプルプログラムを作成していきますので、EclipseでJavaプロジェクトを作成します。なお、ここでは「ibatisSample」という名前でプロジェクトを作成しています。

図7:ibatisSampleプロジェクト
|
| jarファイルのコピー
|
プロジェクトを作成したら、プロジェクトの直下に以下のjarファイルをコピーします。
- ibatis-common-2.jar
- ibatis-dao-2.jar
- ibatis-sqlmap-2.jar
表2:コピーするjarファイル
またJDBCドライバもコピーしてください。ここでは、PostgreSQLを使用しますのでPostgreSQL用のJDBCドライバをコピーします。
|
| テーブルの作成
|
次にテーブルを作成します。今回使用するテーブルはSHAINテーブルとBUSHOテーブルの2つです。テーブルを作成するためのDDLは以下のとおりです。
SHAINテーブルとBUSHOテーブルを作成するためのSQL
// SHAINテーブル
create table SHAIN(
SHAIN_ID INTEGER PRIMARY KEY,
SHAIN_NAME VARCHAR(255),
BUSHO_ID INTEGER,
FOREIGN KEY(BUSHO_ID) REFERENCES BUSHO(BUSHO_ID)
)
// BUSHOテーブル
create table BUSHO(
BUSHO_ID INTEGER PRIMARY KEY,
BUSHO_NAME VARCHAR(255),
EXTENSION_NUM INTEGER
)
なお、SHAINテーブルとBUSHOテーブルの初期データとして以下のデータを使用しています。
SHAINテーブルとBUSHOテーブルの初期レコード用SQL
// SHAINテーブル初期レコード
insert into SHAIN values(111, 'iBATIS', 1)
// BUSHOテーブル初期レコード
insert into BUSHO values(1, '開発部', 1234)
|
| 次回は
|
ここまでで、Eclipseを用いて「iBATIS」を利用する準備が整いました。次回はファイルの自動生成を行い、データベース定義ファイルを作成し、実際にSQLを発行して、「iBATIS」を利用してみます。 |