S2JDBC-Genのセットアップの前にS2JDBCのセットアップが必要です。
配布ファイルのS2JDBC-Gen-x.x.x.zipは、ダウンロードのページから取得できます。 配布ファイルを解凍し、S2JDBC-Genのjarファイル(s2jdbc-gen-x.x.x.jar)とFreeMarkerのjarファイル(freemarker-2.3.x.jar)を任意の場所に配置してください。
Doltengの利用を参照してください。
S2JDBC-GenのAntタスクを実行するためにAntのビルドファイルが必要です。 簡易的なビルドファイルを用いて説明します。
実践的なビルドファイルの例はタスクの使用例を参照ください。 Doletengを使って最適なビルドファイルを自動生成させることもできます。 DoltengについてはDoltengの利用を参照してください。
S2JDBC-GenのAntタスクの多くは、実行時にエンティティクラスを参照します。 また、S2JDBCの動作に必要なjarファイルに加え、s2jdbc-gen-x.x.x.jarとfreemarker-2.3.x.jarが必要です。 すべてのAntタスクからエンティティクラスやjarファイルを参照できるように、あらかじめクラスパスを設定しておきます。
ここでは、"build/classes"がエンティティクラスを格納するディレクトリとします。 また、"lib"が必要なjarファイルを格納するディレクトリだとします。
S2JDBC-Genのタスク定義は、s2jdbc-gen-x.x.x.jar内のs2jdbc-gen-task.propertiesに含まれています。 これを参照するためのに<taskdef>の定義が必要です。
classpathref属性でs2jdbc-gen-x.x.x.jarを含めたクラスパスを参照するようにします。
S2JDBC-Genのタスクを<target>要素の内側に記述します。
classpathref属性の指定を忘れないようにしてください。 S2JDBC-Genのタスク一覧や、タスクに記述できる属性についてはタスクを参照ください。
Antタスクの実行方法として、コマンドラインから実行する場合とEclipseから実行する場合の2通りを説明します。 以下、ビルドファイルの名前をs2jdbc-gen-build.xmlだとします。
Antをコマンドラインから実行する場合は、Apache Antのインストールが別途必要です。
ビルドファイルが存在する階層に移動し、次のコマンドを実行してください。
s2jdbc-gen-build.xmlをAntエディタで開いて実行するか、s2jdbc-gen-build.xmlをAntビューに登録して実行してください。
ただし、Antは、Console EncodingにMS932を指定して実行する必要があります。 MS932を指定しない場合、ログがコンソールに正しく出力されません。
Console Encodingを指定して実行する手順は次のようになります。
この設定は、ビルドファイルに含まれるターゲットごとに行う必要があります。
S2JDBC-Genが配布するs2jdbc-gen-build.xmlやDoltengの0.41.0以上のバージョンから生成されるs2jdbc-gen-build.xmlを修正し、vmarg.encodingプロパティに適切な値が設定されるように調整してください。 具体的な方法については、Eclipse 3.6 + Ant + S2JDBC-Gen 文字化け、コンソール停止が参考になります。
特別な設定は不要です。 ただし、S2JDBC-Genが配布するs2jdbc-gen-build.xmlやDoltengの0.41.0以上のバージョンから生成されるs2jdbc-gen-build.xmlを利用してください。
IDEとしてEclipseを使う場合に、参照してください。 便利な設定やプラグインについて説明します。
static importを便利に扱うための設定方法を説明します。
S2JDBC-Genのいくつかのタスクは、次のような、「.*」を使った一括のstatic importを利用したクラスを生成します。
しかし、EclipseのOrganize Imports機能は、この定義を、実際に使用されている個別のstaticメンバのインポート文へ変換してしまいます。
この変換により、EmployeeNamesの他のstaticメンバがコンテンツアシストの候補にならなくなります(「.*」を使った一括のstatic importのままであれば、候補に挙がります)。 これは不便であるため、Eclipseを利用する場合、「.*」を使った一括のインポート文が個別のstaticメンバのインポート文に変換されないように「Organize Imports」の設定を行います。
「Organize Imports」の設定画面へは、メニューの「Window」-「Preferences」からダイアログを開き、ツリーメニューで「Java」-「Code Style」-「Organize Imports」と辿ってください。 「Organize Imports」の設定画面を開いたら、「Number of static imports for .*」の項目に1を設定します。
EclipseプラグインDoltengについて説明します。 Doltengは次の更新サイトからインストールできます。
Doltengを使うと、S2JDBCを利用するプロジェクトの雛形を自動生成できます。 Doltengはプロジェクトの生成時にS2JDBC-Gen用のビルドファイルも一緒に作成します。 ビルドファイルにはプロジェクトの構成が反映されているため、特別な修正を施すことなくそのまま使用できます。
Doltengプロジェクトを作成する方法を説明します。
Eclipseのメニューから「File」-「New」-「Project」と選択し、プロジェクト作成のダイアログを開きます。
Dolteng Projectを選択すると次のダイアログが開きます。
Presentationに「SAStruts」、Persistenceに「S2JDBC」を選び、「Finish」ボタンを押してください。 プロジェクトが生成されます。
生成されたプロジェクトには、プロジェクト専用のビルドファイル「s2jdbc-gen-build.xml」が含まれます。 このビルドファイルは、S2JDBC-Genの配布ファイルで提供されるビルドファイルとほぼ同等のものです。 ビルドファイルに定義されたターゲットの説明は、タスクの使用例を参照ください。
デフォルトでは、データベースにH2 Database Engineを使用する設定になっています。 他のデータベースを使用するには、jdbc.diconとs2jdbc.diconを修正してください。 設定方法についてはJDBCのセットアップ とS2JDBCのセットアップを参照してください。 これらのファイルは、生成されたプロジェクトのsrc/main/resourcesディレクトリに配置されています。
EclipseプラグインResourceSynchronizerについて説明します。 ResourceSynchronizerは次の更新サイトからインストールできます。
ResourceSynchronizerを使うと、Eclipseとは独立したプロセス内で作成されたマテリアルを自動的にEclilpseのワークスペースに反映させられます。 つまり、ワークスペースのリフレッシュが自動化されます。
S2JDBC-GenのAntタスクの多くはJavaファイルやDDLファイルを生成しますが、これらのファイルはワークスペースをリフレッシュしない限りEclipse上には表示されません。 そのため、Eclipse上で生成されたファイルを確認するには手動でのリフレッシュ操作が必要になります。 S2JDBC-Genでは、ResourceSynchronizerのプロセスにリクエストを投げるRefreshタスクを提供します。 ResourceSynchronizerがインストールされた環境でこのタスクを使用すれば、S2JDBC-Genによって作成されたファイルが自動的にワークスペースに表示されるようになります。Windows環境では、CSVエディタとしてCassava Editorを利用することを推奨します。
S2JDBC-GenのいくつかのタスクはデータベースのダンプデータをCSV形式で出力します。 データを編集する際は、CSVエディタであるCassava Editorを利用するのが便利です。 以下に、推奨のCassava Editorの設定方法を示します。
S2JDBC-Genで扱うCSV形式の詳細についてはダンプファイルを参照してください。