mybatis foreach批量插入数据:Oracle与MySQL的区别

主要不同点在于foreach标签内separator属性的设置问题:

separator设置为”,”分割时,最终拼接的代码形式为:insert into table_name (a,b,c) values (v1,v2,v3) ,(v4,v5,v6) ,…

separator设置为”union all”分割时,最终拼接的代码形式为:insert into table_name (a,b,c) values (v1,v2,v3) union all (v4,v5,v6) union all…

详情请见示例代码:

oracle:

insert into table_name (name, adress, age)

values

(select #{item.name},

#{item.adress},

#{item.age}

from dual )

mysql:

insert into table_name (name, adress, age)

values

( #{item.name}, #{item.adress}, #{item.age} )

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐