概要

S2Dao用のソースコードを自動生成します。

使用方法

Excelでテーブル定義を記述する

テーブル定義の記述には、以下の二通りが使えます。

diconファイルを設定する

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

入力ファイルの形式

RDBの形式

テーブル名・カラム名とクラス名・プロパティ名の変換の設定(0.1.0 beta-2からの機能です。)

種別変換前変換後(NullConverterImpl)変換後(CamelConverterImpl)
DaoEMPLOYEE_TABLEEMPLOYEE_TABLEDaoEmployeeTableDao
DtoEMPLOYEE_TABLEEMPLOYEE_TABLEDtoEmployeeTableDto
getterEMPLOYEE_IDgetEMPLOYEE_IDgetEmployeeId
setterEMPLOYEE_IDsetEMPLOYEE_IDsetEmployeeId

antのビルドファイルを設定する

注意: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タスクを実行する。

ファイル名がbuild_sample.xmlの場合、

ant -f build_sample.xml

でソースが生成されます。

注意点

開発情報

TODO

  1. S2DaoのサンプルDBに対してソース生成した時のテストケースを書く
  2. 対応DBを増やす
  3. 入力フォーマットにExcelを追加する
  4. S2DaoのサンプルDBを元にサンプルを作る
  5. Diconの数を減らす
  6. テーブル名+カラム名を大文字+「_」で記述したときにJavaの標準的なクラス名・フィールド名になるようにする。
  7. IDのような大文字だけの定義があった場合、フィールド名をIDとなるようにする。(現状、iDとなる)
  8. DDL出力
  9. Daoのメソッド・シグネチャーにGenericsを使用可能にする
  10. UnlessUpdateに対応する
  11. 実テーブルからリバース(→マッピング情報をどこから取得するかが課題)
  12. pagerに対応する。
  13. S2Dao Tiger対応
  14. DTOのJavaDocコメントを生成する。

検討課題

  1. Daoのクラス名は定義書等で指定できるようにする。
  2. シーケンス名を定義書等で指定できるようにする。
  3. ソース生成後、antタスク内でコンパイルするようにする
  4. 検索条件の or 、group by 対応
  5. Maven2対応
  6. S2Daoの1:Nマッピングに対応する
  7. DTOのequalsメソッドの生成

参考資料

DB対応作業分担表

DB担当
DB2対応済み
MaxDB対応済み
Derby対応済み
Oraclemakotan
SQLServer
MySQLazusa
PostgreSQLmakotan
HSQLDBazusa
Firebird
H2

メーリングリスト

Seasar-devメーリングリストで開発に関する議論を行なっています。

SVNレポジトリ

https://www.seasar.org/svn/sandbox/s2dao-codegen/

ダウンロード

http://s2dao-codegen.sandbox.seasar.org/download/

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

DBFluteとの機能比較

CompareDBFluteWithCodeGenに一覧表があります。

コメント

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

最新の10件を表示しています。 コメントページを参照

  • S2Dao-CodeGen 興味があるので参加してもいいですか? -- GLAD!! 2006-08-15 (火) 01:05:12
    • もちろんokかと -- kusumoto 2006-08-15 (火) 08:53:35
    • コメントありがとうございます。参加されたいのは開発とミーティングのどちらでしょう?それとも両方? -- せとあずさ 2006-08-15 (火) 21:01:31
    • 両方でお願いします。 -- GLAD!! 2006-08-16 (水) 01:29:02
  • はじめまして。要望があります。Excelからの入力形式を柔軟にしていただきたいです。例えば、設定ファイルを変えれば、CSEの出力定義にも対応するとか。そうすれば、間接的にリバース可能になります。あと、Javadoc生成も考慮していただきたいです。よろしくご検討ください。 -- wat 2007-05-05 (土) 15:39:13
  • Excelからの入力形式については今後の課題ですが、リバースについては開発版では直接リバース可能になっています。なるべく早くリリースできるようにしたいので、よろしくお願いします。 -- せとあずさ 2007-05-09 (水) 12:03:00
お名前:

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