iBATOR-はじめに

iBATORはiBATISのコードジェネレーターです。iBATORは、1つ以上のデータベーステーブルをイントロスペクトし、テーブルへのアクセスに使用できるiBATISアーティファクトを生成します。

後で、要件を満たすためにカスタムSQLコードまたはストアドプロシージャを作成できます。iBATORは次のアーティファクトを生成します-

  • SqlMapXMLファイル
  • テーブルの主キーとフィールドに一致するJavaクラス
  • 上記のオブジェクトを使用するDAOクラス(オプション)

iBATORは、スタンドアロンJARファイル、Antタスク、またはEclipseプラグインとして実行できます。このチュートリアルでは、コマンドラインからiBATIS設定ファイルを生成する最も簡単な方法について説明します。

iBATORをダウンロード

Eclipse以外のIDEを使用している場合は、スタンドアロンJARをダウンロードします。スタンドアロンJARには、iBATORを実行するためのAntタスクが含まれています。または、JavaコードのコマンドラインからiBATORを実行することもできます。

  • DownloadiBATORからzipファイルをダウンロードできます。

  • オンラインドキュメント-iBATORドキュメントを確認できます。

構成ファイルの生成

iBATORを実行するには、次の手順に従います-

ステップ1

構成ファイルibatorConfig.xmlを適切に作成して入力します。少なくとも、-を指定する必要があります

  • A <jdbcConnection> ターゲットデータベースへの接続方法を指定する要素。

  • A <javaModelGenerator> 生成されたJavaモデルオブジェクトのターゲットパッケージとターゲットプロジェクトを指定する要素。

  • A <sqlMapGenerator> 生成されたSQLマップファイルのターゲットパッケージとターゲットプロジェクトを指定する要素。

  • A <daoGenerator> 生成されたDAOインターフェースおよびクラスのターゲットパッケージおよびターゲットプロジェクトを指定する要素(DAOを生成しない場合は、<daoGenerator>要素を省略できます)。

  • 少なくとも1つのデータベース <table> 素子

NOTE −iBATOR構成ファイルの例については、XML構成ファイルのリファレンスページを参照してください。

ステップ2

ファイルを便利な場所、たとえば\ temp \ ibatorConfig.xmlに保存します。

ステップ3

次のようにコマンドラインからiBATORを実行します-

java -jar abator.jar -configfile \temp\abatorConfig.xml -overwrite

設定ファイルを使用して実行するようにiBATORに指示します。また、同じ名前の既存のJavaファイルを上書きするようにiBATORに指示します。既存のJavaファイルを保存する場合は、−overwrite パラメータ。

競合がある場合、iBATORは新しく生成されたファイルを一意の名前で保存します。

iBATORを実行した後、新しく生成されたコードを利用するために、標準のiBATIS構成ファイルを作成または変更する必要があります。これについては、次のセクションで説明します。

iBATOR実行後のタスク

iBATORを実行した後、他のiBATIS設定アーティファクトを作成または変更する必要があります。主なタスクは次のとおりです-

  • SqlMapConfig.xmlファイルを作成または変更します。
  • dao.xmlファイルを作成または変更します(iBATIS DAOフレームワークを使用している場合のみ)。

各タスクについて、以下で詳しく説明します。

SqlMapConfig.xmlファイルの更新

iBATISは、一般にSqlMapConfig.xmlという名前のXMLファイルを使用して、iBATISセッションで使用されるデータベース接続、トランザクション管理スキーム、およびSQLマップXMLファイルの情報を指定します。

iBATORは実行環境について何も知らないため、このファイルを作成できません。ただし、このファイルの一部のアイテムは、iBATORで生成されたアイテムに直接関連しています。

構成ファイルでのiBATOR固有のニーズは次のとおりです-

  • ステートメント名前空間を有効にする必要があります。
  • iBATORで生成されたSQLマップXMLファイルをリストする必要があります。

たとえば、iBATORがMyTable_SqlMap.xmlというSQL Map XMLファイルを生成し、そのファイルがプロジェクトのtest.xmlパッケージに配置されているとします。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>
   <!-- Statement namespaces are required for Abator -->
   <settings useStatementNamespaces="true" />

   <!-- Setup the transaction manager and data source that are
   appropriate for your environment
   -->
	
   <transactionManager type="...">
      <dataSource type="...">
      </dataSource>
   </transactionManager>

   <!-- SQL Map XML files should be listed here -->
   <sqlMap resource="test/xml/MyTable_SqlMap.xml" />

</sqlMapConfig>

(非常に一般的なように)複数のSQL Map XMLファイルがある場合、ファイルは、<transactionManager>要素の後に<sqlMap>要素を繰り返して任意の順序でリストできます。

dao.xmlファイルの更新

iBATIS DAOフレームワークは、一般にdao.xmlと呼ばれるxmlファイルによって構成されます。

iBATIS DAOフレームワークは、このファイルを使用してDAOのデータベース接続情報を制御し、DAO実装クラスとDAOインターフェイスを一覧表示します。

このファイルでは、SqlMapConfig.xmlファイルへのパス、およびiBATORによって生成されたすべてのDAOインターフェイスと実装クラスを指定する必要があります。

たとえば、iBATORがMyTableDAOというDAOインターフェイスとMyTableDAOImplという実装クラスを生成し、ファイルがプロジェクトのtest.daoパッケージに配置されているとします。

dao.xmlファイルには次のエントリが必要です-

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE daoConfig PUBLIC "-//ibatis.apache.org//DTD DAO Configuration 2.0//EN" "http://ibatis.apache.org/dtd/dao-2.dtd">

<daoConfig>

   <context>
	
      <transactionManager type="SQLMAP">
         <property name="SqlMapConfigResource" value="test/SqlMapConfig.xml"/>
      </transactionManager>

      <!-- DAO interfaces and implementations should be listed here -->
      <dao interface="test.dao.MyTableDAO" implementation="test.dao.MyTableDAOImpl" />
   </context>
	
</daoConfig>

NOTE − この手順は、iBATISDAOフレームワーク用にDAOを生成した場合にのみ必要です。