以下のチュートリアルが参考になります。
doma-genをダウンロードしたら、必要なファイルをプロジェクトにコピーします。
- doma-gen-build.xml : プロジェクトトップに配置
- doma-gen-1.xx.x.jar : WEB-INF/lib に設置(アプリケーションとしては不要なので、別の場所の方が良いのかも)
- freemaker-2.x.xx.jar : 同上
後は、接続するDBに対応したドライバーを準備します。ここでは、MySQLを使いました。
- mysql-connector-java-x.x.xx-bin.jar : WEB-INF/lib に設置
ant でビルドしますので、適当に ant をインストールしておきましょう。バージョンの制限は見た限りありませんでした。
ビルドしたいプロジェクトに合わせて、doma-gen-build.xml を編集します。
今回は tomcat プロジェクトに設置しました。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project name="doma-gen-example" default="gen" basedir="."> | |
<property name="javaDestDir" value="WEB-INF/src"/> POJO出力ディレクトリトップ。 | |
<property name="sqlDestDir" value="WEB-INF/src"/> SQL出力ディレクトリトップ。 | |
<property name="dialectName" value="mysql"/> 方言名。ここではMySQL用です。 | |
<property name="driverClassName" value="com.mysql.jdbc.Driver"/> MySQL用ドライバークラス名。 | |
<property name="url" value="jdbc:mysql://localhost:3306/sc_ryi"/> DB接続URL | |
<property name="user" value="****"/> DB接続用アカウント。 | |
<property name="password" value="******"/> DB接続用パスワード。 | |
<property name="entityPackageName" value="jp.masazdream.scryi.server.db.entity"/> エンティティパッケージ。 | |
<property name="daoPackageName" value="jp.masazdream.scryi.server.db.dao"/> Daoパッケージ | |
<property name="configClassName" value="jp.masazdream.scryi.server.db.config.AppConfig"/> AppConfigクラス。ここはクラスです。 | |
<property name="sqlTestClassName" value="jp.masazdream.test.scryi.server.db.SqlTest"/> SqlTestクラス。 | |
<property name="sqlFilePattern" value="META-INF/**/*.sql"/> | |
<path id="classpath"> | |
<fileset dir="WEB-INF/lib"/> 各種ライブラリを設置したディレクトリ。 | |
</path> | |
<taskdef name="gen" classname="org.seasar.doma.extension.gen.task.Gen" classpathref="classpath" loaderref="loader"/> | |
<taskdef name="genTest" classname="org.seasar.doma.extension.gen.task.GenTest" loaderref="loader"/> | |
<typedef name="entityConfig" classname="org.seasar.doma.extension.gen.task.EntityConfig" loaderref="loader"/> | |
<typedef name="daoConfig" classname="org.seasar.doma.extension.gen.task.DaoConfig" loaderref="loader"/> | |
<typedef name="sqlConfig" classname="org.seasar.doma.extension.gen.task.SqlConfig" loaderref="loader"/> | |
<typedef name="sqlTestConfig" classname="org.seasar.doma.extension.gen.task.SqlTestConfig" loaderref="loader"/> | |
<target name="gen"> | |
<gen | |
dialectName="${dialectName}" | |
driverClassName="${driverClassName}" | |
url="${url}" | |
user="${user}" | |
password="${password}"> | |
<entityConfig | |
destdir="${javaDestDir}" | |
packageName="${entityPackageName}" | |
/> | |
<daoConfig | |
destdir="${javaDestDir}" | |
packageName="${daoPackageName}" | |
configClassName="${configClassName}" | |
/> | |
<sqlConfig | |
destdir="${sqlDestDir}" | |
/> | |
</gen> | |
</target> | |
<target name="genTest"> | |
<genTest | |
dialectName="${dialectName}" | |
driverClassName="${driverClassName}" | |
url="${url}" | |
user="${user}" | |
password="${password}"> | |
<sqlTestConfig | |
destdir="${javaDestDir}" | |
testClassName="${sqlTestClassName}"> | |
<fileset dir="${sqlDestDir}"> | |
<include name="${sqlFilePattern}"/> | |
</fileset> | |
</sqlTestConfig> | |
</genTest> | |
</target> | |
</project> |
ant はコマンドラインから実行します。
これで、WEB-INF/src 配下に DAO、Entityクラスが自動生成出来ます。
ant -f doma-gen-build.xml
これで、WEB-INF/src 配下に DAO、Entityクラスが自動生成出来ます。
0 件のコメント:
コメントを投稿