DBFlute -- H2に対応! {DBFlute-0.5.2より}


とうとうH2に挑戦!(ってたいしたことしないですが...)

完全に流行に乗り遅れてしまっていたので、H2というDBをほとんど
噂程度のことしか知りませんでした。(ずっとDerbyを使っていた)

しかし、Doltengなどを利用してDBFluteを試すという話になれば、
「H2を使ってとりあえずサクっと試す」ということになるでしょう。

なので、H2を使ってDBFluteを...さあ


あっけなくできました。
自分がTorque部分を勘違いしていることもあって、
新しいDBの対応は、JDBC-Driverだけの問題でした。
(Pagingとかは置いておいて)

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
1. DoltengでChuraProjectを「Teeda+S2Dao」で作成

2. DBFlute-Exampleの通りにDBFluteの環境を構築
2-1. mydbflute/dblufte-0.5.xを配置
2-2. dbflute_demo/にminimumPropertiesのTemplateを展開
2-3. Project名を「h2demo」に修正。

3. H2のDatabaseの接続文字列を設定
dbflute_demo/dfprop/databaseInfoMap.dfpropを修正
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
map:{
; driver = org.h2.Driver
; url = jdbc:h2:file:../src/main/webapp/WEB-INF/h2-data/demo
; schema =
; user = sa
; password =
}
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

4. H2のdemo用のSchemaを作成
4-1. Doltengが出力したdemo用のDDL文をコピー(src/main/resources/data)
4-2. dbflute_demo/playsql/replace-schema.sqlにペースト
4-3. dbflute_demo/replace-schema.batを実行

→ URLで指定した場所にDBのDirectoryが作成される。
→ replace-schema.sqlが実行され、demo用のTableが作成される。

5. JDBC Taskを実行!

6. Generate Taskを実行!

7. おおできた!
_/_/_/_/_/_/_/_/_/_/_/_/

というわけで、次VersionよりH2をSupportします。
(H2のJDBC-Driverを同梱 and Document追加)


組込みなので、replace-schemaを実行することでSchemaが自動で作られて、
そのままDDL流れて、テストデータも流してが、コマンド一発でできるのがGOODですねぇ。
(Apache Derbyもできるか!?やってなかっただけ!?)


H2に、MySQLのlimit/offset、OracleのRownum のようなPagingのための構文が
存在するのか調査中。(誰か知っていましたら教えてくださいm_m)
これがわかればDBFluteのPaging機能にH2用の処理を組み込みます。