SpringBoot Mybatis keyProperty和useGeneratedKeys的作用


在使用mybatis時,常常會出現這種需求:
當主鍵是自增的情況下,添加一條記錄的同時,其主鍵是不能被使用的(為空),但是有時我們需要該主鍵,這時我們該如何處理呢?這時我們只需要在其對應xml中加入以下屬性即可:

<insert id="insertSelective" parameterType="com.vmware.miaosha.dataobject.UserPasswordDO" keyProperty="id" useGeneratedKeys="true">

示例代碼:

// 實現model -> dataObject方法
UserDO userDO = convertFromModel(userModel);

// insertSelective與insert的區別:
// insertSelective 如果數據庫中表字段設置了默認值,那么插入的值為空,就使用數據庫默認的值。
// insert 如果插入的值為空,就會使用null覆蓋數據庫中表字段設置的默認值
userDOMapper.insertSelective(userDO);

userModel.setId(userDO.getId());   // userDO中就包含了“自增的ID”

UserPasswordDO userPasswordDO = convertPasswordFromModel(userModel);
userPasswordDOMapper.insertSelective(userPasswordDO);


免責聲明!

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



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