1、項目環境——SpringBoot下的SSM+Maven
2、問題出現位置——Dao層和Mapper文件
錯誤代碼如下圖:
dao層:
mapper文件:
錯誤代碼分析:
使用useGeneratedKeys生成主鍵時
(1)如果在DAO層使用@Param注解傳遞參數,則 keyProperty 屬性 需要通過 “注解”+“主鍵id” 的格式,否則無法返回主鍵。
(2)如果在DAO層只有單個參數傳遞(不需要使用@Param注解穿傳遞參數),則 keyProperty 屬性可以直接 = “主鍵id” 來返回主鍵。
總結如下:
使用useGeneratedKeys生成主鍵時,有兩種情況
情況 1(DAO層 加 注解):
Mapper如下:
情況 2(DAO層 不加 注解):
Mapper如下: