问题:如下代码在日志中一直报语法错误,但经分析,没有任何问题
<update id="batchUpdate" parameterType="java.util.List" >
<foreach collection="list" item="item" open="" close="" separator=";">
UPDATE t_user SET
name=#{item.name},
email=#{item.email}
WHERE id=#{item.id}
</foreach>
</update>
解决方案:
jdbc有一个批量执行sql的开关,默认是关闭的,即禁止批量执行sql。这个开关的参数是allowMultiQueries。
配置方法:
加在jdbcUrl后面,如
jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true