mybatis 一次执行多条SQL

在默认情况下,一次性发过去的多条sql是不合法的。

想要让mysql一次执行多条sql语句,必须进行手动设置。

让mysql驱动开启批量执行sql的开关。

怎么开启呢?在拼装mysql链接的url时,为其加上allowMultiQueries参数,设置为true,如下:

jdbc.jdbcUrl=jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true

在每条sql语句后面插入分隔符“;”

 <if test="list!=null">
        <foreach close="" collection="list" index="index" item="item" open="" separator=";">
      update items
    set name = #{item.name,jdbcType=VARCHAR},
      price = #{item.price,jdbcType=VARCHAR},
      pic = #{item.pic,jdbcType=VARCHAR},
      detail = #{item.detail,jdbcType=LONGVARCHAR},
      createtime = #{item.createtime,jdbcType=VARCHAR}  
    where id = #{item.id,jdbcType=INTEGER}
    </foreach>
    </if>

 

posted @ 2017-02-17 20:44  开拖拉机的蜡笔小新  阅读(3830)  评论(0编辑  收藏  举报