DBUtils

いまDBUtilsを使ってるんだけど、
QueryRunnerクラスのfillStatementの中で置換パラメータをPreparedStatementに
セットしてる個所があるものの、DB2に対してはセットの方法がちょっとまずくて、
DBUtils1.0だとnull値が来たときにエラーになっちゃう。
じゃ、どうすればいいかというと、fillStatementの中で、
Types.OTHERを指定してる個所があるのでこれをTypes.VARCHARに変えればいい。
自分はもとのソースを変更するのが嫌だったので、
クラスをextendしてfillStatementをオーバーライドした。
つか、ネットさがしたらそうしてくれって書いてあったんだけど。
ついでに、更新系SQLの一括実行メソッドを作成して使ってる。
1つのSQLに複数の置換パラメータがある場合に、
そのSQLをパラメータだけ入れ替えて次々実行するやつ。
PreparedStatementをそのまま使えばいいんだけど、マイDBUtilsの中に組み込んでしまった。
ところが、あとでDBUtilsの最新ソースをみたら、一括実行メソッドがあるんでないの。
ちょっとがっくりー。


できれば、プロパティファイル/XMLからSQLを取得→SQL設定→置換パラメータセットSQL実行・結果取得
までの流れをテンプレートメソッドパターンみたいな形にまとめてしまえば
いいような気がするんだけど、うまく出来ないものかなぁ。
必要なところだけを実装するようにしてさ。


JakartaのコモンズなんかはJavaDocを見てるだけで楽しめる。
ほんと、こういう汎用的な仕様だとか、クラス構成だとかを考えられるようになりたいものだ。