Ibatis-ibator-introduction
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を生成した場合にのみ必要です。