dockの日記

2010-10-05

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

jflutejflute 2010/10/05 20:35 こんばんは。その記事の時代には充実していませんでしたが、
今はオフィシャルページが一番充実していますので、
ぜひそちらをご覧下さい。

// トップページ
http://dbflute.sandbox.seasar.org/

// アーキテクトのためのチュートリアル
http://dbflute.sandbox.seasar.org/ja/tutorial/architect.html

// DBFluteのセットアップ
http://dbflute.sandbox.seasar.org/ja/environment/setup/index.html

もし、環境構築以前に「単にDBFluteのDBアクセスを見てみたい・試してみたい」
というのが目的でしたら(環境構築は本当に必要になったときにやればいいので)、
既に環境構築済みのプロジェクトをSVNチェックアウトして試すこともできます。
「dbflute-basic-example」は、「H2 Database」を組み込みDBとして
利用しているので、チェックアウトしてすぐに、JUnitのテストを動かすことができます。
既に存在するJUnitのテストを適当に書き換えて試し実行することもできます。
とりあえずプログラムを触ってみたいというときにお奨めです。
http://dbflute.sandbox.seasar.org/ja/manual/reference/example/index.html

jflutejflute 2010/10/05 20:47 もし、Seasar よりも Spring Framework の方が慣れているとかありましたら、
「dbflute-spring-example」というプロジェクトもあります。
(dbflute-basic-example で、Seasar が Spring Framework に変わっただけ)
記事の時代と違って、今のDBFluteはS2Dao(Seasar)に依存していません。
また、ANTもDBFlute内部で保持しているので準備必要ありません。
(ExampleでDBFluteタスクを試し実行できます)

今後も何かありましたら、ブログに書いて頂けると
色々とフォローできますのでよろしくです。

dockcafedockcafe 2010/10/05 20:54 おっと これはもしかして作者様でしょうか   凄く感激です
私の様な初心者に・・・ 有難うございました

情報サイト有難うございます これでかなり進みそうです

凄いサイトが出来てたんですねぇ 以前情報を探した時には無かったんですが
これはかなり充実してきたということなんでしょうか 利用者が増えてる証拠ですね
本気で取り組んでいきますので 今後ともよろしくお願い致します

まずは投稿のお礼まで 有難うございました!

jflutejflute 2011/01/09 14:33 ちょっと前に記事のコメントで恐縮ですが、明確な原因がわかりました。
こちらの記事(+ コメント)の通りです。
http://d.hatena.ne.jp/sakube1/20110108/1294503769
ANT_HOMEが設定されていると、DBFluteが期待するANTの
バージョンとは違うバージョンのANTが実行される可能性があり、
まさしくそれが原因かと思われます。
最新のDBFluteではPCにANT_HOMEが設定されていても、
必ずDBFlute内部で持っているANTを利用するようにしました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/dockcafe/20101005/1286272754
リンク元