有关ibatis selectKey
今天在用ibatis selectKey 生成 oracle sequence 的时候 发现一个问题。
其实就是相为SHIPMENT_HISTORY表加入一个主键sequence id shipmentHistoryId,加入一条记录,然后返回这个sequence id
xml 代码
也就是说对于oracle来说,<selectKey> statement是必须前置的,并且 必须把sequence id放到insert into 句子中,就会没有问题的。按照上面的更改我自己的xml如下,果然没有问题了
xml 代码
这个statement是可以生成sequence并且插入记录的,唯一的缺点就是你不能同时通过
Object newKey = getSqlMapClientTemplate().insert(
"SHIPMENT_HISTORY.abatorgenerated_insert", record);
同时得到newKey这个sequence
总之,相对来说,selectKey>还是比较好用的,只要你注意你用的数据库的问题(再说,ibatis也没有屏蔽掉数据库之间的差异)
转载自:http://hotforcc.iteye.com/blog/120767