利用方法

DBFlute Maven Plugin の基本的な利用方法について説明します。

利用する前に(事前準備)

DBFlute Maven Plugin を利用するためには、Maven のインストールおよびMaven のプロジェクトを生成しておく必要があります。 Maven プロジェクトの生成には、Maven の archetype 機構を利用すると簡単に生成することができます。 たとえば、Maven のインストール後に、以下のように実行すると Maven プロジェクトが作成されます。

mvn archetype:generate \
    -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 の更新

DBFlute Maven Plugin を利用するために、開発するプロジェクトの pom.xml にプラグイン情報を追加します。 以下のように追加してください。 バージョン (version要素) は最新のバージョンを利用してください。

<?xml version="1.0" encoding="UTF-8"?>
<project>
...
  <build>
    <plugins>
...
      <plugin>
        <groupId>org.seasar.dbflute</groupId>
        <artifactId>dbflute-maven-plugin</artifactId>
        <!-- DBFlute Maven Plugin のバージョン -->
        <version>1.0.0</version>
        <configuration>
          <dbfluteVersion>1.0.0</dbfluteVersion>
          <dbPackage>sample.app.db</dbPackage>
          <clientProject>sample</clientProject>
        </configuration>
      </plugin>
...
    </plugins>
  </build>
...
</project>

configuration 要素以下で DBFlute Maven Plugin のパラメータを設定することができます。 dbfluteVersion はプロジェクトにインストールする DBFlute のバージョン、dbPackage は DBFlute により生成されるクラスをインストールするパッケージ名、clientProject はプロジェクト名で 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;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 などで設定されている場合は、それらの値が適用されます。 このゴールを実行する前に、dbflute:download ゴールを実行しておく必要があります。

mvn dbflute:create-client

スキーマの作成 (dbflute:replace-schema)

dbflute:replace-schema ゴールを実行すると、DBFlute クライアントの replace-schema.[sh|bat] が実行されます。 replace-schema については、DBFlute のサイトを参照してください。

mvn dbflute:replace-schema

スキーマ情報の取得 (dbflute:jdbc)

dbflute:jdbc ゴールを実行すると、DBFlute クライアントの jdbc.[sh|bat] が実行されます。 jdbc については、DBFlute のサイトを参照してください。

mvn dbflute:jdbc

スキーマ情報のHTML化 (dbflute:doc)

dbflute:doc ゴールを実行すると、DBFlute クライアントの doc.[sh|bat] が実行されます。 doc については、DBFlute のサイトを参照してください。

mvn dbflute:doc

クラスファイルの自動生成 (dbflute:generate)

dbflute:generate ゴールを実行すると、DBFlute クライアントの generate.[sh|bat] が実行されます。 generate については、DBFlute のサイトを参照してください。

mvn dbflute:generate

SQLから対応するEntityの自動生成 (dbflute:sql2entity)

dbflute:sql2entity ゴールを実行すると、DBFlute クライアントの sql2entity.[sh|bat] が実行されます。 sql2entity については、DBFlute のサイトを参照してください。

mvn dbflute:sql2entity

外だしSQLの確認 (dbflute:outside-sql-test)

dbflute:outside-sql-test ゴールを実行すると、DBFlute クライアントの outside-sql-test.[sh|bat] が実行されます。 outside-sql-test については、DBFlute のサイトを参照してください。

mvn dbflute:generate

管理タスクの実行 (dbflute:manage)

dbflute:manage ゴールを実行すると、DBFlute クライアントの manage.[sh|bat] が実行されます。 manage については、DBFlute のサイトを参照してください。

mvn dbflute:manage ...

DBFluteのアップグレード (dbflute:upgrade)

dbflute:upgrade ゴールを実行すると、利用している DBFlute を dbfluteVersion で指定されたバージョンにアップグレードします。 アップグレードは、DBFlute をダウンロード・展開し、DBFlute クライアントの _project.[sh|bat] を更新します。 このゴールを実行する前に、dbflute:download ゴールを実行しておく必要があります。

mvn dbflute:upgrade

CRUDページの自動生成 (dbflute:generate-crud)

dbflute:generate-crud ゴールを実行すると、指定された DB の各テーブルに関する SAStruts 用の一覧・生成・更新・削除のページを生成します。

mvn dbflute:generate-crud

基本的な利用方法

実際、DBFlute Maven Plugin を利用した開発において、以下のゴールを実行すれば、Java のソースコードが生成され、プロジェクトで利用可能になります。

mvn dbflute:download
mvn dbflute:create-client

dbflute_プロジェクト名 ディレクトリ以下を必要に応じて変更して以下を実行するとソースコードが生成されます。

mvn dbflute:jdbc
mvn dbflute:generate