このページは、[[DBFlute]]と[[S2Dao-CodeGen]]の機能比較の一覧ページです。

*比較 [#gecdc82f]
||DBFlute|S2Dao-CodeGen|
|生成方法|テーブルスキーマから生成|テーブル定義書(CSV/Excel)から生成/テーブルスキーマから生成(0.2.0から対応、ただしPackDao、PackDtoの生成はサポートしない)|
|動作環境|JDK1.5+Ant|JDK1.4以降+Ant|
|ターゲット言語|Java,C#|Java|
|生成方法|環境変数・プロパティファイルを設定後、バッチファイルを実行して生成|テーブル定義書を記述後、Antのビルドファイル・diconファイルを設定してAntタスクを実行して生成|
|生成物|Dao,Entity,ConditionBean,Behavior,'dao.dicon',その他|Dao,Dto,PackDto,PackDao,FindDto,SQLファイル,'alldao.dicon'|
|生成したJavaソースの動作環境|Java{JDK1.4/1.5} + S2Dao-1.0.35/36/37 (+ S2Daoに必要なjar)&br;C#{.NET2.0} + S2Dao.net-1.0.0 (+ S2Daoに必要なdll)|JDK1.4以降+S2Dao 1.0.31以降(+ S2Daoに必要なjar)|
|対応DB|axion, cloudscape, DB2, DB2/400, hypersonic, interbase, SQLServer,MySQL, Oracle, PostgreSQL, sapdb, sybase, firebird, Derby|DB2,MaxDB,Oracle,PostgreSQL,MySQL,HSQLDB,Derby|
|利用スタイル|<自動生成タイミング>&br;まず、テーブルスキーマからClassを自動生成。&br;その後、DBが変更される度に自動生成し直し。(イテレータブル)&br; ※ジェネレーションギャップの採用によりプロジェクト独自のMethodを追加可能&br;&br;<DBアクセス>&br;- 簡単なSQLはConditionBeanを利用&br;- 複雑なSQLはS2Daoの“外だしSQL”(SQLファイル)機能をそのまま利用&br; ※S2DaoのDefaultのSQL自動生成機能やQuery-Annotationなどを&br;  利用することはほとんどない|<自動生成タイミング>&br;まず、テーブル定義書からClassを自動生成。&br;その後、DBが変更される度に自動生成し直し。(イテレータブル)&br;&br;<DBアクセス>&br; - 簡単な処理はS2DaoのSQL自動生成+Query-Annotationを使用。&br;- FindDtoにより以下の検索条件(AND条件)をサポート。&br;一致/より大きい/以上/以下/未満/範囲指定/is null/is not null/複数の値(in)/文字列の前方一致/後方一致&br;-現状ではPagerに未対応|
|S2Dao拡張|<DaoMetaDataImplの継承拡張>&br;- S2Daoの“DTOによるSQL自動生成”機能を拡張&br;- Daoにおいて、Method毎に戻り値のBeanを指定可能&br;  →JavaにおいてはS2Dao-1.1にてこの機能がサポートされるので&br;   いずれ拡張の必要はなくなる&br;&br;<ResultSetWrapperの継承拡張>&br;-LimitOffset(もしくはそれに相当するもの)がSupportされないDBでもPagingが可能|S2Daoの拡張は行ってない|
|その他特徴|<その他便利な機能>&br;- DatabaseのSchema情報を表示する'SchemaHTML'を自動生成する。&br;- S2Daoの“外だしSQL”(SQLファイル)から対応するEntityを自動生成する。|-Eclipse上で各種インターフェースを実装したクラスを作成してdiconに登録することにより、独自フォーマットの定義書の使用・DDLの出力などの機能拡張が可能。&br;- テーブル定義書のマッピング定義によってn:1マッピングを指定したPackDao,PackDto,SQLファイルを作成する&br;|

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