iBATISには、DTOやSqlMapファイルを生成するEclipseプラグイン(abator)がある。この自動生成機能はスタンドアロンで実行可能なjarファイルになっているので、NetBeans 6.1から使用してソース生成をしてみる。
abatorはなんか問題があって(Due to a trade registration dispute)で、iBATORに名称変更している。iBATORは開発中(名称変更中?)なのか、コンパイル済みの配布物がWebサイトにないが、SVNリポジトリにソースがあるので、ついでにビルドして使ってみようと思う。
1) iBATORソースの取得とビルド(これもNetBeansで)
- SVNリポジトリからチェックアウト
- 「Java自由形式プロジェクト」としてプロジェクト作成、ウィザードにて下記の設定をする(後からも設定できる)
- 「Javaソース」はsrcに設定
- 「Javaソースのクラスパス」はdevlib内のjarを選択
- ビルドファイルにbuild/build.xmlを指定すれば、IDEが適当なターゲットを選んでくれる
- NetBeansから構築すれば、build/deploy/filesにibator.jarが作成された (すんなりできると思わなかったが…)
iBATORでソース生成するためのNetBeansプロジェクトを作成する。ソース生成をして、iBATISで簡単なデータアクセスを行ってみる。
- 「Javaアプリケーション」プロジェクトを新規作成
- libフォルダを作成し、1)で作ったibator.jarとibatisのjar、JDBCドライバのjarをコピー
- 上記をプロジェクトのライブラリに追加
NetBeansからiBATORを実行するために、設定ファイルとAntタスクを準備する。iBATORのドキュメントに説明が書いてある(でも英語)。iBATORのドキュメントは、SVNから落としたソースの中に含まれる。プロジェクト全体の構成はスクリーンショット参照
- ibatorConfig.xmlを作成してソース生成の基本情報を設定
- ibator.xmlを作成してiBATOR用のAntタスクを書く
<?xml version="1.0" encoding="Windows-31J"?>
<!DOCTYPE ibatorConfiguration
PUBLIC "-//Apache Software Foundation//DTD Apache iBATIS ibator Configuration 1.0//EN"
"http://ibatis.apache.org/dtd/ibator-config_1_0.dtd">
<ibatorConfiguration>
<classPathEntry location="${generated.source.dir}/lib/ojdbc14.jar" />
<ibatorContext id="ibatorGeneration" generatorSet="Java2">
<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@host:1521:sid"
userId="scott"
password="tiger">
</jdbcConnection>
<!-- 必須 -->
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- DTOとsqlMapファイルの生成を行う -->
<javaModelGenerator targetPackage="dto" targetProject="${generated.source.dir}/src" />
<sqlMapGenerator targetPackage="sqlmap" targetProject="${generated.source.dir}/src" />
<!-- DAO生成を行う場合は下記
<daoGenerator type="IBATIS" targetPackage="dao" targetProject="${generated.source.dir}/src" />
-->
<!-- スキーマと生成対象の表名(ワイルドカード可) -->
<table schema="SCOTT" tableName="%">
<property name="useActualColumnNames" value="true"/>
</table>
</ibatorContext>
</ibatorConfiguration>
<?xml version="1.0" encoding="Windows-31J"?>
<project default="genfiles" basedir=".">
<property name="generated.source.dir" value="${basedir}" />
<target name="genfiles" description="Generate the files">
<taskdef name="ibator"
classname="org.apache.ibatis.ibator.ant.IbatorAntTask"
classpath="lib/ibator.jar" />
<ibator overwrite="true" configfile="${basedir}/ibatorConfig.xml" verbose="false" >
<propertyset>
<propertyref name="generated.source.dir"/>
</propertyset>
</ibator>
</target>
</project>
(スクリーンショット参照)
0 件のコメント:
コメントを投稿