#contents

*S2Dao-CodeGen [#c939b125]

**概要 [#v7ad6951]
S2Dao用のソースコードを自動生成します。現在、開発中です。

**使用方法 [#pa1ded15]
***Excelでテーブル定義を記述する [#if187297]
テーブル定義の記述には、以下の二通りが使えます。
-Excelのシートの形式 
-[[ERwin:http://www.jsys-products.com/product/al_erwin/]]の出力するCSV形式

***diconファイルを設定する [#i24cd379]
dicon/org/seasar/codegen.impl/LoadFile.diconを、入力ファイルの形式およびRDBにあわせて修正します。

-ERwinの出力するCSVファイルを使う場合
 <component class="org.seasar.codegen.impl.ERWinCSVImportCodeData" >
 </component>
-1シート1テーブル形式のExcelシートを使う場合
 <component class="org.seasar.codegen.impl.ExcelImportCodeDataImpl">
 </component>
-1シート複数テーブル形式のExcelシートを使う場合
 <component class="org.seasar.codegen.impl.ExcelImportCodeDataImpl2">
 </component>

-DB2の場合
 <component class="org.seasar.codegen.element.util.DB2DataTypeSelectUtil" >
 </component>
-MySQLの場合
 <component class="org.seasar.codegen.element.util.MySQLDataTypeSelectUtilImpl">
 </component>
-MaxDBの場合
 <component class="org.seasar.codegen.element.util.MaxDBDataTypeSelectUtilImpl">
 </component>
-Oracleの場合
 <component class="org.seasar.codegen.element.util.OracleDataTypeSelectUtil">
 </component>
-HSQLDBの場合
 <component class="org.seasar.codegen.element.util.HSQLDBDataTypeSelectUtilImpl">
 </component>
-PostgreSQLの場合
 <component class="org.seasar.codegen.element.util.PostgreSQLDataTypeSelectUtil">
 </component>
-Derbyの場合
 <component class="org.seasar.codegen.element.util.DerbyDataTypeSelectUtil">
 </component>

***antのビルドファイルを設定する [#m718aebc]
注意:build.xmlは、配布パッケージ作成のためのファイルです。コード生成のためのファイルの雛形はbuild_sample***.xmlです。

build_sample.xmlを参考にビルドファイルを記述します。
通常は、build_sample.xml内の2つのプロパティを修正すればすむはずです。
 <!-- テープル定義ファイルのパス -->
 <property name="codegen.table" value="test/codegen.csv"/>
 <!-- 出力ファイルのパッケージ名 -->
 <property name="codegen.package" value="org.seasar.codegen.sample"/>

***antタスクを実行する。 [#mfae0799]
ファイル名がbuild_sample.xmlの場合、
 ant -f build_sample.xml
でソースが生成されます。

***注意点 [#w30237c9]
-S2Dao-CodeGenで生成したソースをコンパイル、実行するにはS2Coffeeが必要です。
-現状のS2Dao-CodeGenはクラス名・プロパティ名について、定義書に書かれたテーブル名・カラム名をそのまま使用します。このため、UNIX系OS上のMySQLの様にCase SensitiveなRDBを使用する場合はテーブル名、フィールド名はDDLの項目名と大文字・小文字もあわせて記述してください。

**開発者 [#p02f4906]
azusa, makotan, t-wada, kusumoto, dewa, glad

**開発情報 [#pb258164]
***TODO [#ee428096]
+対応DBを増やす
+%%入力フォーマットにExcelを追加する%%
+%%S2DaoのサンプルDBを元にサンプルを作る%%
+Diconの数を減らす
+テーブル名+カラム名を大文字+「_」で記述したときにJavaの標準的なクラス名・フィールド名になるようにする。
+IDのような大文字だけの定義があった場合、フィールド名をIDとなるようにする。(現状、iDとなる)
+UnlessUpdateに対応する
+S2Daoの1:Nマッピングに対応する
+DDL出力
+実テーブルからリバース
+検索条件の or 、group by 対応
+Maven2対応
+S2Dao Tiger対応
+DTOのJavaDocコメントを生成する。
+DTOのequalsメソッドの生成
+Eclipseプラグイン化

*** リリース予定 [#l750e887]
TODOの(2)〜(4)がそろったら0.1.0-beta1をリリースする予定です。

***参考資料 [#je9a4f18]
-[[入力フォーマット>./InputFormat]]
-[[クラス図など>./Model]]

**DB対応作業分担表 [#q770c9e2]
|DB|担当|
|DB2|対応済み|
|MaxDB|対応済み|
|Derby|対応済み|
|Oracle|makotan|
|SQLServer||
|MySQL|azusa|
|PostgreSQL|makotan|
|HSQLDB|azusa|
|Firebird||

**メーリングリスト [#ee5dd031]
[[Seasar-devメーリングリスト:https://www.seasar.org/mailman/listinfo/seasar-dev]]で開発に関する議論を行なっています。

**SVNレポジトリ [#x32066d2]
https://www.seasar.org/svn/sandbox/s2dao-codegen/

**ダウンロード [#v89a6b50]
http://s2dao-codegen.sandbox.seasar.org/download/

http://s2dao-codegen.sandbox.seasar.org/snapshot/
からレポジトリのsnapshotをダウンロードできます。

**コメント [#wfef3891]
ジェネレータに、組み込んで欲しい機能の要望があれば、気軽にコメントをどうぞ!

#pcomment(Comment/Sandbox/S2Dao-CodeGen,10,reply)

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS