Oracle獲取序列

SelectKey在Mybatis中是為了解決Insert數(shù)據(jù)時(shí)不支持主鍵自動(dòng)生成的問題,他可以很隨意的設(shè)置生成主鍵的方式。

selectKey Attributes屬性描述

keyPropertyselectKey 語句結(jié)果應(yīng)該被設(shè)置的目標(biāo)屬性。

resultType 結(jié)果的類型。MyBatis 通常可以算出來,但是寫上也沒有問題。MyBatis 允許任何簡(jiǎn)單類型用作主鍵的類型,包括字符串。

order這可以被設(shè)置為 BEFORE 或 AFTER。如果設(shè)置為 BEFORE,那么它會(huì)首先選擇主鍵,設(shè)置 keyProperty 然后執(zhí)行插入語句。如果設(shè)置為 AFTER,那么先執(zhí)行插入語句,然后是 selectKey 元素-這和如 Oracle 數(shù)據(jù)庫相似,可以在插入語句中嵌入序列調(diào)用。

statementType和前面的相 同,MyBatis 支持 STATEMENT ,PREPARED 和CALLABLE 語句的映射類型,分別代表 PreparedStatement 和CallableStatement 類型。


像Oracle這樣取序列的情況,需要設(shè)置為before,否則會(huì)報(bào)錯(cuò)

例子:

select PORTAL_SEQ.NEXTVAL from dualINSERT INTO PORTAL_XX(ID,NAME,LAST_UPDATE_DATE )VALUES(#{id, jdbcType=NUMERIC},#{name, jdbcType=VARCHAR},sysdate)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容