Mybatis操作Mysql批量更新的一個坑-&allowMultiQueries=true允許批量更新


前言

           利用Mybatis批量更新或者批量插入,實際上即使Mybatis完美支持你的sql,你也得看看你操作的數據庫是否完全支持,而同事,最近就遇到這樣的一個坑!

 

問題

        先帶大家來看一段sql的配置:

    

1 <update id="updateAllAvailable">
2   <foreach collection="skuOptionList" item="item" index="index" open="" close="" separator=";"> 
    update t_xxx
3 <set> old_id = #{item.oldId} </set> 4 where id = #{item.id} 5 </foreach> 6 </update>

     以上的配置動態SQL看着沒有問題,這里用到了Mybatis的動態sql,實際上說白了也就是拼sql,不過這個繁雜的工作交給Mybatis幫我們去做了,可是,只要一執行就要報語法錯誤。

  解決方案

    后來發現,原來mysql的批量更新是要我們主動去設置的, 就是在數據庫的連接url上設置一下,加上* &allowMultiQueries=true *即可。

       

 


免責聲明!

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



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