AUTO INCREMENT
DBスキーマのプライマリキーなどが、AUTO INCREMENTの場合、
どうやってINSERTするのかなぁ?
と、外出しSQLとバインド変数を使ってできるみたい。
CdDao_insert.sql
insert into cd(title,content) values( /*cd.title*/,/*cd.content*/ )
で、CdDao#insert()を呼ぶときidは入れないようにすると
Cd cd = new Cd(); //cd.setId(1); cd.setTitle("ほげほげ"); cd.setContent("あははは"); dao.insert(cd);
発効されるSQLは以下のようになる。
insert into cd(title,content) values( 'ほげほげ','あははは' )
ただ、INSERTされた行のAUTO INCREMENT行の値が何になったかは不明
Statement#getGeneratedKeys()にあたるものはあるのだろうか?
(別にいらないか)
S2DAO、だいぶん、いいもののような気がしてきた。
うだうだXML設定ファイルとわらわら作成されるクラス群が不要なのが気持ちいいのと
実装クラスが裏側で作られるのが若干気持ち悪いの半分です。