Ibatis-ibator-introduction

提供:Dev Guides
移動先:案内検索

iBATOR-はじめに

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

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

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

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

ダウンロードiBATOR

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

  • zipファイルは、http://people.apache.org/builds/ibatis/ibator/ibator-1.2.1-681.zip [iBATORのダウンロード]からダウンロードできます。
  • オンラインドキュメントを確認できます-http://ibatis.apache.org/docs/tools/ibator/[iBATOR Documentation]。

構成ファイルの生成

iBATORを実行するには、次の手順に従ってください-

ステップ1

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

  • ターゲットデータベースへの接続方法を指定する <jdbcConnection> 要素。
  • 生成されたJavaモデルオブジェクトのターゲットパッケージとターゲットプロジェクトを指定する <javaModelGenerator> 要素。
  • 生成されたSQLマップファイルのターゲットパッケージとターゲットプロジェクトを指定する <sqlMapGenerator> 要素。
  • 生成されたDAOインターフェイスとクラスのターゲットパッケージとターゲットプロジェクトを指定する <daoGenerator> 要素(DAOを生成しない場合は、<daoGenerator>要素を省略できます)。
  • 少なくとも1つのデータベース <table> 要素

注意- iBATOR設定ファイルの例については、リンク:/ibatis/ibator_xmlconfig [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 Frameworkを使用している場合のみ)。

各タスクは以下に詳細に説明されています-

SqlMapConfig.xmlファイルの更新

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

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

設定ファイル内のiBATOR固有のニーズは次のとおりです-

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

たとえば、iBATORがMyTable_SqlMap.xmlというSQLマップ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>
  • 注-*この手順は、iBATIS DAOフレームワーク用にDAOを生成した場合にのみ必要です。