天天看點

Mybatis的批量更新踩坑

在使用mybatis的批量更新的時候

<update id="updateBatch"  parameterType="java.util.List">  
    <foreach collection="list" item="item" index="index" open="" close="" separator=";">
        update student
        <set>
            name=${item.name}
        </set>
        where id = ${item.id}
    </foreach>      
</update>
           

本以為這樣可以直接更新了,誰知道執行的時候直接報錯了,my god

後來查到的原因是Mybatis映射檔案中的sql語句預設是不支援以" ; " 結尾的,也就是不支援多條sql語句的執行,是以咋辦呢,想用批量更新的話需要

在連接配接mysql的url上加 &allowMultiQueries=true

這樣就可以了

打個比方

即在jdbc:mysql://localhost:3306/test 這個後面設定的參數,一定要注意了