EMechaによるセットアップ
EMechaとは?
EMechaはDBFluteの支援機能を備えたEclipseプラグインです。
セットアップ概要
- 1. EMechaをインストール
- 2. DBFluteウィザードで環境構築
- 3. 特定環境適用プロパティ
- 4. 自動生成の実行
※アプリケーションのEclipseプロジェクト(Javaプロジェクト)が存在することが前提です。
1. EMechaをインストール
EMechaは「SeasarのEclipse更新サイト」にて公開されています。
- SeasarのEclipse更新サイト
- http://eclipse.seasar.org/updates/3.3/
2. DBFluteウィザードで環境構築
- 「Package Explore」上でEclipseプロジェクトを選択して右クリック
- 「New」-「Other...」そして「DBFlute Wizards」-「DBFlute New Client」を選択
- 基本的な情報(DBの種類やパッケージ、DB接続情報など)を入力
- 「Latest Version」ボタンで最新バージョンを指定
- 「Download DBFlute」ボタンで指定されたバージョンのDBFluteモジュールをダウンロード
- Finish!
この時点で、DBFluteクライアントとDBFluteモジュールが作成されます。
DB接続情報の設定値に関してはこちらを参考にして下さい。
表示された画面で「Eclipse Project」の値が空っぽの場合は「Package Explore上でEclipseプロジェクトを選択」した状態で しっかり右クリックしているかどうかもう一度確認して下さい。(例えば「Navigator」だとNGです)
3. 特定環境適用プロパティ
「ある特定の環境に適用するためのプロパティ」を設定して下さい。 それぞれデフォルト値が設定されていますので、そのままで問題なければ指定する必要はありません。
DBFluteクライアントのdfprop配下のbasicInfoMap.dfpropをテキストエディタで開いて修正します。 DBFluteプロパティに関してはこちら
basicInfoMap.dfprop
DBFluteプロパティの「basicInfoMap.dfprop」をエディタで開いて以下の項目を必要であれば修正します。 (EMechaがインストールされていれば、DBFluteプロパティの色付け・入力支援をするエディタ機能が[.dfprop]に関連付いています)
自動生成クラスの出力先(generateOutputDirectory)
自動生成されるクラスの出力先を設定します。DBFluteクライアントからの相対パスです。 デフォルト値は[../src/main/java]なので、アプリの構造と不一致の場合は変更して下さい。
ex) 自動生成の出力先を[../foo]配下にする場合 @basicInfoMap.dfprop
; generateOutputDirectory = ../foo
リソースファイルの出力先(resourceOutputDirectory)
Seasarの場合のdbflute.diconやSpringの場合のdbfluteBeans.xmlなどのリソースファイルの出力先を設定します。 generateOutputDirectoryプロパティのディレクトリからの相対パスです。 デフォルト値は[../resources]なので、generateOutputDirectoryもデフォルトであれば[src/main/resources]に出力されます。 アプリの構造と不一致の場合は変更して下さい。
ex) 自動生成の出力先を[../bar]配下にする場合 @basicInfoMap.dfprop
; resourceOutputDirectory = ../bar
テーブル名の規約調整(isTableNameCamelCase)
DB上のテーブル名の規約が[ORDER_DETAIL]という形式でなく[OrderDetail]という形式(キャメルケース)かどうかの設定します。 デフォルト値は前者の形式を想定していますので、アプリケーションが後者の形式の場合は[true]を指定して下さい。
ex) テーブル名が[OrderDetail]という形式の場合 @basicInfoMap.dfprop
; isTableNameCamelCase = true
カラム名の規約調整(isColumnNameCamelCase)
DB上のカラム名において[isTableNameCamelCase]と同様の調整をします。
ex) カラム名が[OrderDetailId]という形式の場合 @basicInfoMap.dfprop
; isColumnNameCamelCase = true
クラス名のプレフィックス(projectPrefix)
例えば[Ld]と指定したら、MEMBERテーブルのEntityのクラス名は[LdEntity]となります。 複数DBで利用する場合は、DBごとに明確に区別しやすいようにするために設定することをお奨めします。
ex) プロジェクト全体でクラス名の先頭に「Ld」を付ける場合 @basicInfoMap.dfprop
; projectPrefix = Ld
さらに「複数DB対応」の場合に、考慮すべきプロパティが幾つかあります。詳しくはこちら
4. 自動生成の実行
ここからはテンプレートによるセットアップの「4. 自動生成の実行」からと同様なので、 そちらをご覧下さい。
別資料
EMechaの参考資料がgihyo.jpにて公開されています。 但しEMechaの更新サイトに関する記載が古いので現在(2008/02/29)の最新である3.3をご利用ください。
