@Insert(" insert into table(c1,c2) " +
" values (#{c1},#{c2}) ")
@SelectKey(resultType = long.class,keyColumn = "id",before = false,statement = "SELECT LAST_INSERT_ID() AS id",keyProperty = "id")
int addQuestion(Instance instance); /** public class Instance{ private long id; private String c1; private String c2; } **/
before=false:由於mysql支持自增長主鍵,所以先執行插入語句,再獲取自增長主鍵值。
keyColumn:自增長主鍵的字段名
keyProperty: 實體類對應存放字段,注意數據類型和resultType一致
statement:實際執行的sql語句
SelectKey返回的值存在實體類中,線程安全,所以不論插入成功與否id都會安全自增
另一個比較好的文檔:https://blog.csdn.net/xu1916659422/article/details/77921912
————————————————
版權聲明:本文為CSDN博主「charlieshawn」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_41810184/article/details/81011023
