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」のみ利用といった使い方も可能です。

iBATISの流れ
図1:iBATISの流れ


iBATISのダウンロード

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

「iBATIS」ダウンロードページ
図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)、これにチェックを入れて「終了」ボタンをクリックします。

インストール画面(Abator for iBATIS Update Site表示)
図6:インストール画面(Abator for iBATIS Update Site表示)


   後はインストールウィザードに従って進めるとインストールが完了します。

今回はEclipse上でサンプルプログラムを作成していきますので、EclipseでJavaプロジェクトを作成します。なお、ここでは「ibatisSample」という名前でプロジェクトを作成しています。
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」を利用してみます。