iBATIS

iBATIS は O/Rマッピングツールといわれるフレームワークのひとつ。 Apache プロジェクトで開発されている。

特徴

O/R マッピングツールであるが、Hibernate 等と違うのは SQL がそのまま使えること。

インストール

次のダウンロードサイトなどから ibatis-x.x.x.xxx.zip (最新版) を取得して、 適当なフォルダに展開する。

出てきたファイルをクラスパスの通っているところに置くか、 プロジェクト直下に置く。

  • ibatis-common-2.jar
  • ibatis-dao-2.jar
  • ibatis-sqlmap-2.jar
最新版(2007/03/22時点)だとファイルが1つ (ibatis-2.3.0.677.jar) なんだけど、1つにまとまったのかな。

次に設定ファイルを書く。

ファイル名はサンプルに従って SqlMapConfig?.xml などとする。

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMapConfig      
    PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"      
    "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
   <properties resource="SqlMapConfig.properties" />
   <settings
       cacheModelsEnabled="true"
       enhancementEnabled="true"
       lazyLoadingEnabled="true"
       maxRequests="5"
       maxSessions="2"
       maxTransactions="2"
       useStatementNamespaces="false"
   />

   <transactionManager type="JDBC" >
       <dataSource type="SIMPLE">
       <property name="JDBC.Driver" value="${driver}"/>
       <property name="JDBC.ConnectionURL" value="${url}"/>
       <property name="JDBC.Username" value="${username}"/>
       <property name="JDBC.Password" value="${password}"/>
       </dataSource>
   </transactionManager>

   <!-- ここにリソース設定ファイルのパスを書く -->
   <sqlMap resource="sqlmap/login.xml" />
   <sqlMap resource="sqlmap/getHogeTable.xml" />
   :
   :

</sqlMapConfig>

このファイルに直接設定を書いても良いけど、 ここは SqlMapConfig?.properties というファイルから設定を取ってくるようにする。

SqlMapConfig?.properties は、例えば Oracle の場合、こんな感じで書く。

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:ORCL
username=user
password=passwd

Eclipse プラグイン

iBATIS のプラグインがあるので、それも入れておく。

インストール

  1. 「ヘルプ」→「ソフトウェア更新」→「検索とインストール」を選択。
  2. 「新規リモートサイト」ボタンを選択。
  3. 新規更新サイトダイアログに次のサイトを入力
  4. 「検索に含めるサイト」に「Abator for iBATIS Update Site」チェックボックスが現れるので、チェックして「終了」ボタンを選択。

あとは指示に従ってインストール。


プログラム・開発系メモ


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-15 (土) 12:07:59 (5087d)