#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/snapshot/ からレポジトリのsnapshotをダウンロードできます。 **コメント [#wfef3891] ジェネレータに、組み込んで欲しい機能の要望があれば、気軽にコメントをどうぞ! #pcomment(Comment/Sandbox/S2Dao-CodeGen,10,reply)