・・・

仕事で客先の独自フレームワークを使うことになった。
ところがデータベースまわりの機能はほとんど無い。
close忘れ防止のためのラッパークラスがあるくらい。
このラッパークラスはjdbcを継承や実装したりしてるわけではないので巷にあるORマッパーやら何やらも使えない。
主キーで検索して1レコード取ってくるとかinsertするとか定型のsqlを一々書くなんて時代遅れにもほどがあるだろ。


だもんで定型sqlを内部的に生成するようなDBラッパーを作ることにしたのだが、テーブルごとのクラスを一々作ってられないのでDBのスキーマから自動生成するツールを作成。
sqlを自動生成するコードを自動生成するコードとかややこしくてわけわからん。
#このツールもフレームワーク依存の部分を切り出してjdbcでも使えるようにしたいがそれはまた後日。


しかし使い勝手を考えると、sqlによってクラスを使ったりファイルから別途sqlを読み込んでバインド変数をパラメータに指定してとか使い分けなきゃいけないのは不便。
そうするとsqlが書かれてるファイルに対してもクラスを自動生成しなきゃならんか・・・


普通のjdbcでも使えて、自動生成するためのバインド変数埋め込みもできて、というsqlの記法を考えたりパーサーを実装したりするのは苦労したけどやっててすごく楽しかった(笑)


作ってる途中でふと気がついた。
これってORマッパーだよな・・・
最初は薄いラッパーを作るだけのつもりだったのに。
DBラッパーとORマッパーの境い目はどこなんだろう?
テーブルごとのBeanをライブラリの中で使うかどうかか?
だとすると最初に作るつもりだったものもORマッパーってことになる。
うむむ・・・