2009年7月4日土曜日

MacBookにiBATISを入れる

さあ、俺のMacBook(アルミ、10.5.6 Leopard)も、Tomcatを入れ、Eclipseを入れ、MySQLも入れ、だいぶアプリケーションが揃ってきた。余暇時間に使うべく購入したMacの正しい楽しみ方として微妙に何か間違ってる気がするが、まあ良い。

ここまで用意したからには当然、何かWebアプリを作ってみなくてはいけないわけだが、せっかくなので、仕事では使っていないもの…

いわゆるO/Rマッピングツールを試してみることにした。…最近じゃ、これ系の仕事でこの手のツール使ってないのはおかしいのかな?俺はおかしくないと思うけど、古いだろうか?

まず、概要を把握。
http://www.thinkit.co.jp/free/article/0606/13/2/


続いて、本家サイトを確認。
http://ibatis.apache.org/

そこの、ダウンロードページ
http://ibatis.apache.org/javadownloads.cgi

日本語ドキュメントも。
http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-2/ibatis-2-docs/ja/

で、入れ方
http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-2/ibatis-2-docs/ja/iBATIS-SqlMaps-2_ja.pdf


SQL Map Configファイルは、基本そのまま。SQL Mapファイルだけ、自分が使うのに書き換える。

SQL Map Config Propertiesは、接続先の情報だから書き換える。

で、使いたいオブジェクトに合わせて、SQL Mapファイルを作り、SQL Map Configの中のサンプル、Person.xmlの代わりに指定する。

これらの設定ファイルはすべてクラスパスの通っているところに置かなければならない。指定は、クラスをimportする時と同じように、最上位からディレクトリを辿るが、区切り文字はあくまでもドットではなくスラッシュだ。このファイル配置とパス指定が煩雑でタイプミスによるエラーも多く嫌いだ。

つまり、Tomcat + Eclipseで使うつもりの俺としては、srcディレクトリの、マップしようとしているクラスと同じパッケージ内に一般ファイルとして作成。

http://codezine.jp/article/detail/1289?p=2

select, insertまで順調にやって、insertをさらにまともにしようとしたら引っかかった。

beanのプロパティに、Enumのメンバーを加えたら、わけのわからんところでNoClassDefFoundException が。何か手があるかと思ったが、そこまでしてEnumにこだわってもたいして効率がよくなる部分でもないかなあ、と、スッパリ諦めて文字列を使うことにした。ヘタレ開発者の鑑。

----

この後、メモを忘れてしまっていた。

結局何を作ったかというと、まあ、ありきたりだが、掲示板のようなものを作ってみた。タイトルと、記事と、記事に対するタグを付けられるというような。で、検索/表示+登録、更新、削除を実装。

これを進める中で、マッピング用のxmlはもりもりすくすく、元気に育っていった。

育つにつれて、煩雑さばかりが目についてきた。だいたい、XMLの中に条件分岐を書くってのはどうなんだ?もはやXMLに書くことのメリットがわからない。コンパイルしないファイルに書いてあるってことがそんなに偉いとも思えないし。

ということで、この手のツールに対する興味は、急速に冷めていった…。

0 件のコメント:

コメントを投稿