このページは、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以降(+ 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 |
利用スタイル | <自動生成タイミング> まず、テーブルスキーマからClassを自動生成。 その後、DBが変更される度に自動生成し直し。(イテレータブル) ※ジェネレーションギャップの採用によりプロジェクト独自のMethodを追加可能 <DBアクセス> - 簡単なSQLはConditionBeanを利用 - 複雑なSQLはS2Daoの“外だしSQL”(SQLファイル)機能をそのまま利用 ※S2DaoのDefaultのSQL自動生成機能やQuery-Annotationなどを 利用することはほとんどない | <自動生成タイミング> まず、テーブル定義書からClassを自動生成。 その後、DBが変更される度に自動生成し直し。(イテレータブル) <DBアクセス> - 簡単な処理はS2DaoのSQL自動生成+Query-Annotationを使用。 - FindDtoにより以下の検索条件(AND条件)をサポート。 一致/より大きい/以上/以下/未満/範囲指定/is null/is not null/複数の値(in)/文字列の前方一致/後方一致 -現状ではPagerに未対応 |
S2Dao拡張 | <DaoMetaDataImplの継承拡張> - S2Daoの“DTOによるSQL自動生成”機能を拡張 - Daoにおいて、Method毎に戻り値のBeanを指定可能 →JavaにおいてはS2Dao-1.1にてこの機能がサポートされるので いずれ拡張の必要はなくなる <ResultSetWrapperの継承拡張> -LimitOffset(もしくはそれに相当するもの)がSupportされないDBでもPagingが可能 | S2Daoの拡張は行ってない |
その他特徴 | <その他便利な機能> - DatabaseのSchema情報を表示する'SchemaHTML'を自動生成する。 - S2Daoの“外だしSQL”(SQLファイル)から対応するEntityを自動生成する。 | -Eclipse上で各種インターフェースを実装したクラスを作成してdiconに登録することにより、独自フォーマットの定義書の使用・DDLの出力などの機能拡張が可能。 - テーブル定義書のマッピング定義によってn:1マッピングを指定したPackDao,PackDto,SQLファイルを作成する |