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