SelectKey在Mybatis中是為了解決Insert數(shù)據(jù)時不支持主鍵自動生成的問題,他可以很隨意的設(shè)置生成主鍵的方式。
selectKey Attributes屬性描述
keyPropertyselectKey 語句結(jié)果應該被設(shè)置的目標屬性。
resultType 結(jié)果的類型。MyBatis 通??梢运愠鰜?但是寫上也沒有問題。MyBatis 允許任何簡單類型用作主鍵的類型,包括字符串。
order這可以被設(shè)置為 BEFORE 或 AFTER。如果設(shè)置為 BEFORE,那么它會首先選擇主鍵,設(shè)置 keyProperty 然后執(zhí)行插入語句。如果設(shè)置為 AFTER,那么先執(zhí)行插入語句,然后是 selectKey 元素-這和如 Oracle 數(shù)據(jù)庫相似,可以在插入語句中嵌入序列調(diào)用。
statementType和前面的相 同,MyBatis 支持 STATEMENT ,PREPARED 和CALLABLE 語句的映射類型,分別代表 PreparedStatement 和CallableStatement 類型。
像Oracle這樣取序列的情況,需要設(shè)置為before,否則會報錯
例子: