實現插入數據后返回自增主鍵ID的幾種方式


實現插入數據后返回自增主鍵ID的幾種方式

在xml中 insert 標簽中定義 :

* useGeneratedKeys為true,用來設置返回主鍵id的值,

* keyProperty 代表數據庫記錄主鍵字段

* keyColumn 代表 java對象成員屬性名

1 xml 映射文件的方式
<!-- 插入數據:返回記錄主鍵id值 -->
 <insert id="saveUser" useGeneratedKeys="true" keyProperty="id" keyColumn="id" parameterType="com.saiyou.entity.User">
        insert into user(name,age) values (#{name},#{age})
 </insert>
2 接口注解的方式

在接口映射器中通過注解@Options分別設置參數useGeneratedKeys,keyProperty,keyColumn值 如下

// 返回主鍵字段id值
@Options(useGeneratedKeys = true,keyProperty = "id",keyColumn = "id")
@Insert("insert into user(name,age) values (#{name},#{age})")
void returnIdSaveUser(User user);
3 Mybatis Plus的方式

調用 BaseMapper 的 insert())或者調用service的save()方法后 ,默認將自增主鍵封裝在 插入對象中批量保存也會

userMapper.insert(user);
userService.save(user);
userService.saveBatch(users);

參考資料地址: https://zhuanlan.zhihu.com/p/217375859

文檔糾錯: xml和@Param的方式,(參考資料顯示此方式,不能返回自增的id),經驗證,自增id是可以返回的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM