方式一:
<insert id="xx" parameterType="com.xx.xx">
insert into table xx(field1, field2)
<foreach collection="list" item="item" index="index" separator="union all">
select value1,value2 from dual
</foreach>
</insert>
注意:批量插入一定要注意防止Exceed max parameters permit(2048)这个SQLException。
如果出现这个异常,解决办法:可以分批插入,例如使用ListUtils.partition将List分成多个subList,再循环去执行insert操作。
只是要注意的一点是,分subList是一定要考虑insert语句中使用的参数个数,参数个数*subList个数不能超过2048,否则还是会报错。
方式二:
<insert id="xx" useGeneratedKeys="false">
insert into table xx(field1, field2)
select field1 ,field2
from table XX
</insert>
注意:要指定 useGeneratedKeys="false"
声明:本站所有资源均由网友分享,如有侵权内容,请在文章下方留言,本站会立即处理。
推荐:
大张伟:大张伟 我来说一下公式哈:我写情歌=感受爱=DM
大张伟 我来说一下公式哈:我写…
BearBin_:#明日方舟# #生于黑夜# DM-7三人
#明日方舟# #生于黑夜# D…