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ò)
例子: