1. 程式人生 > 實用技巧 >Mybatis配置檔案中Insert 元素標籤新增配置有哪些呢?

Mybatis配置檔案中Insert 元素標籤新增配置有哪些呢?

Mybatis配置檔案中Insert 元素標籤新增配置有哪些呢?

如需要跟多資料請點選下方圖片⬇(掃碼加好友→備註66,不備註拒絕新增哦)

Insert 元素標籤新增方式

  • 新增記錄不返回主鍵配置
  • 新增記錄返回主鍵1(屬性配置)
  • 新增記錄返回主鍵2(屬性配置)
  • 批量新增記錄返回影響總記錄行數(屬性配置)

案例實操

新增記錄不返回主鍵配置

<insert id="addUserNoKey" parameterType="User">        
    insert into  user(userName,userPwd) values(#{userName},#{userPwd})
</insert>

新增記錄返回主鍵1(屬性配置)

<insert id="addUserHasKey1"  parameterType="user">    
    <selectKey keyProperty="id" order="AFTER" resultType="int">     
        select LAST_INSERT_ID() as id       
    </selectKey>    
    insert into user(userName,userPwd) values(#{userName},#{userPwd})
</insert>

Oracle 情況

<selectKey resultType="int" order="BEFORE" keyProperty="id">  
        SELECT LOGS_SEQ.nextval AS ID FROM DUAL  
</selectKey>  

新增記錄返回主鍵2(屬性配置)

<insert id="addUserHasKey2" parameterType="user" useGeneratedKeys="true"keyProperty="id">    
    insert into user(userName,userPwd) values(#{userName},#{userPwd})
</insert>

批量新增記錄返回影響總記錄行數(屬性配置)

<insert id="addUserBatch" parameterType="list" >    
    insert into user(user_name,user_pwd) values    
    <foreach collection="list" item="item" separator=",">     
        (#{item.userName},#{item.userPwd})   
    </foreach> 
</insert>

擴充套件

Update 元素標籤使用

更新單條記錄返回影響行數

<!-- 更新單條 -->
<update id="updateUser" parameterType="User">
    update user set userName=#{userName} ,userPwd=#{userPwd} where id=#{id}
</update>

批量更新多條記錄 屬性配置

<update id="updateUserBatch" parameterType="java.util.Map">   
    update user set userPwd=#{pwd} where id in      
    <foreach collection="ids" item="item" open="(" separator=","  close=")">   
        #{item}        
    </foreach>
</update>

Delete 元素標籤使用

刪除單條記錄

<delete id="delUserById" parameterType="int">     
    delete from user where  id=#{id}
</delete>

批量刪除多條記錄(屬性配置)

<delete id="delUserBatch" parameterType="java.util.Map">     
    delete from user where   id in       
    <foreach collection="ids" item="item" open="(" separator="," close=")"index="index">
        #{item}   
    </foreach>
</delete>

或下列形式,入參為陣列型別

<delete id="deleteUserBatch2" >
    delete from user where id in 
    <foreach collection="array" item="item" open="(" separator="," close=")">
        #{item}
    </foreach>
 </delete>

h collection="array" item="item" open="(" separator="," close=")">
#{item}


###