利用方法
Maven DBFlute Plugin の基本的な利用方法について説明します。
利用する前に(事前準備)
Maven DBFlute Plugin を利用するためには、Maven 2 のインストールおよび Maven のプロジェクトを生成しておく必要があります。 Maven プロジェクトの生成には、Maven の archetype 機構を利用すると簡単に生成することができます。 たとえば、Maven のインストール後に、以下のように実行すると Maven プロジェクトが作成されます。
mvn archetype:create \
-DgroupId=グループID \
-DartifactId=プロジェクトID \
-DarchetypeArtifactId=maven-archetype-webapp
groupId には生成するプロジェクトのグループ ID、artifactId には生成するプロジェクトのプロジェクト ID、archetypeArtifactId には生成するプロジェクトのタイプをしていします。 archetypeArtifactId には以下のものなどを指定できます。 詳細については、Maven Archetype Plugin を参照してください。
- maven-archetype-quickstart: jar ファイルを生成するプロジェクト
- maven-archetype-webapp: war ファイルを生成するプロジェクト
- maven-archetype-j2ee: J2EE プロジェクトを生成するプロジェクト
- maven-archetype-mojo: Maven プラグインを生成するプロジェクト
pom.xml の更新
Maven DBFlute Plugin を利用するために、開発するプロジェクトの pom.xml にプラグイン情報を追加します。 以下のように追加してください。 バージョン (version要素) は最新のバージョンを利用してください。
<?xml version="1.0" encoding="UTF-8"?>
<project>
...
<build>
<plugins>
...
<plugin>
<groupId>org.seasar.dbflute</groupId>
<artifactId>maven-dbflute-plugin</artifactId>
<version>0.1.0</version>
<configuration>
<dbfluteVersion>0.9.5.2</dbfluteVersion>
<dbPackage>sample.app.db</dbPackage>
<schemaName>sample</schemaName>
</configuration>
</plugin>
...
</plugins>
</build>
...
</project>
configuration 要素以下で Maven DBFlute Plugin のパラメータを設定することができます。 dbfluteVersion はプロジェクトにインストールする DBFlute のバージョン、dbPackage は DBFlute により生成されるクラスをインストールするパッケージ名、schemaName はスキーマ名で DBFlute クライアント内の build-スキーマ名.properties などで利用されます。
デフォルトでは H2 のデータベースが設定されますが、Oracle など別な DB を設定するなどカスタマイズしたい場合は、configuration 要素以下に以下のように指定します。 この設定は、DBFlute クライアントだけに適用されるものなので、アプリが使う jdbc.dicon などのその他の設定は別途行ってください。
...
<configuration>
...
<database>mysql</database>
<databaseDriver>com.mysql.jdbc.Driver</databaseDriver>
<databaseUrl>jdbc:mysql://localhost/DB名?useUnicode=true&amp;characterEncoding=UTF-8</databaseUrl>
<databaseUser>ユーザ名</databaseUser>
<databasePassword>パスワード</databasePassword>
</configuration>
</plugin>
...
DBFluteのダウンロード・展開 (dbflute:download)
dbflute:download ゴールを実行すると、dbfluteVersion で指定されたバージョンの DBFlute を mydbflute ディレクトリ以下に展開します。
mvn dbflute:download
DBFluteクライアントの展開 (dbflute:create-client)
dbflute:create-client ゴールを実行すると、dbfluteVersion で指定されたバージョンの DBFlute の DBFlute クライアントを展開します。 展開時に database などのパラメータが pom.xml などで設定されている場合は、それらの値が適用されます。
mvn dbflute:create-client
スキーマの作成 (dbflute:replace-schema)
dbflute:replace-schema ゴールを実行すると、DBFlute クライアントの replace-schema.[sh|bat] が実行されます。 replace-schema については、セットアップを参照してください。
mvn dbflute:replace-schema
スキーマ情報の取得 (dbflute:jdbc)
dbflute:jdbc ゴールを実行すると、DBFlute クライアントの jdbc.[sh|bat] が実行されます。 jdbc については、セットアップを参照してください。
mvn dbflute:jdbc
スキーマ情報のHTML化 (dbflute:doc)
dbflute:doc ゴールを実行すると、DBFlute クライアントの doc.[sh|bat] が実行されます。 doc については、セットアップを参照してください。
mvn dbflute:doc
クラスファイルの自動生成 (dbflute:generate)
dbflute:generate ゴールを実行すると、DBFlute クライアントの generate.[sh|bat] が実行されます。 generate については、セットアップを参照してください。
mvn dbflute:generate
SQLから対応するEntityの自動生成 (dbflute:sql2entity)
dbflute:sql2entity ゴールを実行すると、DBFlute クライアントの sql2entity.[sh|bat] が実行されます。 sql2entity については、Sql2Entity を参照してください。
mvn dbflute:sql2entity
外だしSQLの確認 (dbflute:outside-sql-test)
dbflute:outside-sql-test ゴールを実行すると、DBFlute クライアントの outside-sql-test.[sh|bat] が実行されます。
mvn dbflute:generate
DBFluteのアップグレード (dbflute:upgrade)
dbflute:upgrade ゴールを実行すると、利用している DBFlute を dbfluteVersion で指定されたバージョンにアップグレードします。 アップグレードは、DBFlute をダウンロード・展開し、DBFlute クライアントの _project.[sh|bat] を更新します。
mvn dbflute:upgrade
CRUDページの自動生成 (dbflute:generate-crud)
dbflute:generate-crud ゴールを実行すると、指定された DB の各テーブルに関する SAStruts 用の一覧・生成・更新・削除のページを生成します。
mvn dbflute:generate-crud
利用に関して
実際、Maven DBFlute Plugin を利用した開発において、以下のゴールを実行すれば、Java のソースコードが生成され、プロジェクトで利用可能になります。
mvn dbflute:download
mvn dbflute:create-client
mvn dbflute:jdbc
mvn dbflute:generate
