DBFlute奮闘記

かの有名なSeasarファンデーションのDBFlute ずっと気になっていたので
ここで奮起して環境をつくってみた

周りから手間が多いしなかなかうまくいかないよと忠告され
なかなかやる気がでなかったが、随分こなれてきたはずと思いスタート
初心者が役に立てる情報が出せればいいなと


早速古い雑誌を見つけてきて
簡単な環境を整えてみる

まとまってそうなのは
「WEB+DB vol.41」 2007年だ すごく古いが ほかになかなかまとまった情報がないので
仕方ないか

1)JDKを入れる
  当時の環境だとJDK 1.5.0_12 とある
  これもうないな 仕方なく JDK 1.5.0_22 をダウンロードする
  
  インストールして、パスを通す
  コマンドプロンプトで JAVA -version で確認 
  例のクイックタイムがクラスパスを汚すので クラスパスだけは確認しておく
  大丈夫そうだ

2)ANTも同様 パスを通し ひとまず安心

3)Eclipse 3.2.2 これもなかなかないので 3.3で代用を


4)ここから本番だ
  Seasar 関連のプラグイン

  正直言って書籍ではSeaser3.2を http://eclipse.seasar.org/updates/3.2 から
  落としてくるのだが  3.3でも可能と書いてある
  
  意外とこれは詰まったが 3.2から落とすと Chura プロジェクトが作れるのだが 3.3から落とすと
  作れない。ここはこの通りやるのであればポイント その後、プロジェクト名が変わったようだ

  とりあえず、Dolteng/Kijimuna/S2JSF/DbLauncher/EMecha を選択しダウンロードする
    DBFluteEMechaに入っているらしい


5)パッケージエクスプローラーからじゃないと作れない!!!

  メニュー→新規→プロジェクト→「Chura Project」を選択 と
  これもはまってしまった、Eclipse から新規プロジェクトを作成するところで
  何? Chura Project が出てこない!
  くだらない話だが、ワークスペースをたくさん持っている人は要注意
  必ずパッケージエクスプローラーからじゃないと出てこない模様

6)作成画面にプロジェクト名とルートパッケージを入力して・・・
  
  プロジェクト名とルートパッケージ名を聞いてくるので
  hogeproject seasardemo  と記入し

  プロジェクトタイプで Super Agile を選択

 終了ボタンを押して無事終了   ・・何やら勝手にファイルを作ってるよう

7)データベースH2の用意

  パッケージエクスプローラーからプロジェクトを右クリックしてプロパティー→DBLauncher を選択
      Use H2 Database のチェックを確認
       DbPortNo が 9092 で確認する
       
8)データベースの起動

   パッケージエクスプローラーからプロジェクトを右クリックしてH2→Start H2 Server を実行する

   おお動いた コンソールに
    Web server running on http://192.168.2.105:8082 (only local connections)
    TCP server running on tcp://192.168.2.105:9092 (only local connections)
   と表示され無事DB起動

9)このChura Project にDBFluteクライアント環境の作成に入る

   パッケージエクスプローラーからプロジェクトを右クリックして
   メニュー→新規→その他→DBFlute Client Directory を選択

   設定画面が出てくる

    最初は意味がわからずいろいろやってしまったが
    基本はChura Default ボタンを押せばいいよう
    ただし、データベースの選択 → h2
    その時にURIの設定は注意
     データベースをファイルタイプで指定する場合には jdbc:h2:file で指定
     今回サーバモードでH2立ち上げているので jdbc:h2:tcp://localhost:9092/なんとか
     で設定しないといけない
    ここは要注意

   あとはDBFluteの最新バージョンを落として 終了ボタンを押す

10) DBFlute REPLASE-SCHEMA タスクの実行

   これも予想通り一地縄ではいかない  9)で作成されたファイルの中にreplace-schema.batというファイルが作成
   されるので これをコマンドプロンプトから実行
    すると勝手にDBを作ってくれる スキーマ情報はdbflute_hogeproject/playsql/replace-schema.sqlに書かれている
    もので行われるので 新しく作りたければこの情報を書きなおしてやればいい

   コマンドプロンプトでエラーは確認しにくいので dbflute_hogeproject/log/dbflute.log のログを確認する

    H2を使う場合 JDBCのドライバーのバージョンでエラーが頻発したので
    注意する クラスパスの確認とドライバーのバージョン違いがある場合にはどちらかにする必要あり
    デフォルトで2種類あったので これはよく起こる話だと思う

11) jdbc.bat   ついに力尽きた・・・・

   このタスクは難易度が高いような気がする・・・かなりログを見てるのだか未だ解決できない
   エラーの状況からクラスが読み込めてないようだけど

2010-10-05 17:41:10,484 [main] ERROR (DfDBFluteTaskUtil#logError():203) - Look! Read the message below.
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Failed to execute DBFlute Task 'JDBC'.

[Advice]
Check the exception messages and the stack traces.

[Database Product]
H2 1.2.135 (2010-05-08)

[JDBC Driver]
H2 JDBC Driver 1.2.135 (2010-05-08) for JDBC 3.0