makotan _at_ gmail dot com

生成するもの

c11tは大量のコードを生成します。
ただし、JDBCと直接のやりとりは行わずそこは他のライブラリに任せてます。
構成的には
生成したコード=>ライブラリ=>JDBC=>RDB
こんな感じですね。

大量のコードを生成するのにJDBCに直接アクセスしない理由

c11tの特徴の一つに、専用の依存ライブラリを持たないというのがあってJDBC直接で作ると大変すぎて早い時期に特徴が崩れるため。
ちなみに、中間のライブラリは比較的柔軟に意外と何でも使える予感ですが、素直な2WaySQLなものがあった方が楽ですね。
こればっかりは仕方ないw
ということで、現時点ではmirageを採用
専用のannotationがない2WaySQLのライブラリが出てくるとついうっかりそっちに移行するかもw

出力するコード

大きな枠組みで言うと、DDL,Denpyo,DenpyoDao,各種SQL,Entity,EntityDao,TestCase
こんな感じ。
一つの定義からこれだけの量を出力するので生産性は高いよ(ぉ
ちなみに、テストケース実行時のカバレッジは自動生成直後でだいたい60%〜70%程度です
もうちょっと色々機能追加してカバレッジあげたいんだけどなぁ・・・ここは全く未着手

現時点で依存してるもの

java,mirage,guice,postgresql
たぶん全部置き換え出来ると思う。今の時点で認識してる範囲だとOracle対応は32文字制限でなかなか大変そう
ライブラリ的には2WaySQL非搭載なものにも置き換え出来ると思う
というか、専用で2WaySQLなライブラリ作った方がテンプレート簡単だったんじゃないか疑惑もあるw
某S社の頃は専用ライブラリ作ってたなぁ・・・全面的にSeasarに依存しちゃったけど
個人的にjava,mirage,spring,mysqlは準備しなきゃと思ってる(まだ思ってるだけ)