このページは、DBFluteとS2Dao-CodeGenの機能比較の一覧ページです。
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) C#{.NET2.0} + S2Dao.net-1.0.0 (+ S2Daoに必要なdll) | JDK1.4以降+S2Dao 1.0.31以降 |
対応DB | axion, cloudscape, DB2, DB2/400, hypersonic, interbase, SQLServer,MySQL, Oracle, PostgreSQL, sapdb, sybase, firebird, Derby | DB2,MaxDB,Oracle,PostgreSQL,MySQL,HSQLDB,Derby |
利用スタイル | <自動生成タイミング> まず、テーブルスキーマからClassを自動生成。 その後、DBが変更される度に自動生成し直し。(イテレータブル) ※ジェネレーションギャップの採用によりプロジェクト独自のMethodを追加可能 <DBアクセス> - 簡単なSQLはConditionBeanを利用 - 複雑なSQLはS2Daoの“外だしSQL”(SQLファイル)機能をそのまま利用 ※S2DaoのDefaultのSQL自動生成機能やQuery-Annotationなどを 利用することはほとんどない。 | |
S2Dao拡張 | <DaoMetaDataImplの継承拡張> - S2Daoの“DTOによるSQL自動生成”機能を拡張 - Daoにおいて、Method毎に戻り値のBeanを指定可能 →JavaにおいてはS2Dao-1.1にてこの機能がサポートされるので いずれ拡張の必要はなくなる <ResultSetWrapperの継承拡張> -LimitOffset(もしくはそれに相当するもの)がSupportされないDBでもPagingが可能 | |
その他特徴 | <その他便利な機能> - DatabaseのSchema情報を表示する'SchemaHTML'を自動生成する。 - S2Daoの“外だしSQL”(SQLファイル)から対応するEntityを自動生成する。 | Eclipse上で各種インターフェースを実装したクラスを作成してdiconに登録することにより、独自フォーマットの定義書の使用・DDLの出力などの機能拡張が容易。 |