DbUtilsいける!

Jakarta Commons-DbUtilsに挑戦。こいつはすげえや。

    DataSource ds = むにゃむにゃ・・・
    QueryRunner qr = new QueryRunner(ds);
    ResultSetHandler handler = new BeanListHandler(HogeBean.class);
        
    String sql = "SELECT むにゃむにゃ・・・"
    List beanList = (List)qr.query(sql, handler);

こないな感じ。SELECT結果からのBeanリスト構築がこれだけでできる。今まで、EJBで言うところのBMP(Bean-Management Persistence)っぽいのをシコシコこしらえてたのが馬鹿みたい*1。注意するのは一点、SELECT文で取ってくるカラム名をBeanのプロパティ名と合わせること。日本語のカラム名を使っている場合などは、"SELECT カラム1 AS property1, カラム2 AS property2 ..."という風にAS句を使えばオッケー。
巷で話題のO-Rマッピングみたいに大げさじゃないところがいい(ヘタレ?)。

とりあえずリンク集

//jakarta.apache.org/commons/dbutils/">Commons DbUtils:本家。
//jakarta.apache.org/commons/dbutils/apidocs/">APIドキュメント:簡にして要を外さず。
//www02.so-net.ne.jp/~kikuta/dbu/">DbUtilsめも:サンプルきっちり。

*1:リフレクションを使えばBeanのプロパティとテーブルスキーマのマッピングで手が抜けるというのは分かってたけど、なかなか手を出す気になれなかったんだよね。