ibatis的insert中使用序列
Oracle中創建序列
create sequence MYDB_SEQUENCE
increment by 1
start with 1
nomaxvalue
minvalue 1;
xml寫法
<insert parameterClass="Student">
<selectKey resultClass="String" keyProperty="mid">
SELECT MYDB_SEQUENCE.NEXTVAL FROM DUAL
</selectKey>
<![CDATA[
insert into Student(id,name,age)
values(#mid#,#mname#,#mage#)
]]>
</insert>
我們為什麼說使用序列會出現跳號的情況呢?
有兩個人A和B,A先使用序列,插入了一條數據,這時候序列為1。
B又使用同一個序列,這時候序列為2。
這個時候A後使用該序列了,為3。那麼A的表中從1直接到3了,這就跳號了。為了避免這種情況,不同的表可以使用不同的序列。
最後更新:2017-04-03 05:40:22