mybatis插入數據返回主鍵ID


 

insert操作時,需要獲取主鍵ID。在mybatis執行完insert操作后,我傳入到insert()里面的那個entity對象,就有ID值了, mybatis自動給賦值上了! 我一直用一個變量(id)接收,只能接收到影響的行數!

正確的獲取方法:

1 public Integer save(){
2     UserInfo entity = new UserInfo();
3     ...
4     entity.setUpdateTime(new Date());
5     userInfoDAO.insert(entity);
6     return entity.getId(); 7 }

錯誤的獲取方法:

1 public Integer save(){
2     UserInfo entity = new UserInfo();
3     ...
4     entity.setUpdateTime(new Date());
5     Integer id = userInfoDAO.insert(entity); 6     return id; 7 }

 

mybatis中的insert寫法

<insert id="insert" parameterType="com.xxx.xxx.entity.xxx" useGeneratedKeys="true" keyProperty="id">
    INSERT INTO comment_library 
    <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">
                id,
            </if>
            ...
    </trim>
    VALUES 
    <trim prefix="(" suffix=")" suffixOverrides=",">
        <if test="id != null">
        #{id},
        </if>
        ...
    </trim>
</insert>


免責聲明!

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



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