如何在Mysql语句的insert语句中使用foreach方法,做循环插入?
这里有一个user的集合,users,将其遍历插入到数据库表user中,方法如下:
<insert id="addList" parameterType="com.java4all.User">
INSERT INTO user(name,age,address)
<foreach collection="users" item="user" index="index" separator="union all">
select
#{user.name},
#{user.age},
#{user.address}
FROM dual
</foreach>
</insert>
特别注意!
用此语句的时候有可能会报错的是,(原因是mysql的批量更新是要我们主动去设置)所以需要我们在连接数据库的地址上修改一下:
数据库链接添加 &allowMultiQueries=true (设置了这个参数以后 支持两个功能, 1.可以在sql语句后携带分号,实现多语句执行。
2.可以执行批处理,同时发出多个SQL语句。)
jdbc:mysql://192.168.1.72:3306/demo?characterEncoding=utf-8&allowMultiQueries=true