oracle批量插入[jdbcType类型应与数据库一致]
INSERT INTO STUDENT(ID,NAME,AGE,SEX)
SELECT t.* FROM(
<foreach collection="list" index="index" item="item" separator="UNION ALL">
select
#{item.id,jdbcType=DECIMAL} ID,#{item.name,jdbcType=VARCHAR} NAME,
#{item.age,jdbcType=VARCHAR} AGE,#{item.sex,jdbcType=VARCHAR} SEX
from dual
</foreach>
)mysql批量插入
INSERT INTO STUDENT(ID,NAME,AGE,SEX)
VALUES
<foreach collection="list" index="index" item="item" separator=",">
(
#{item.id,jdbcType=DECIMAL} ID,#{item.name,jdbcType=VARCHAR} NAME,
#{item.age,jdbcType=VARCHAR} AGE,#{item.sex,jdbcType=VARCHAR} SEX
)
</foreach>

本文介绍使用MyBatis进行Oracle和MySQL数据库批量插入的方法。通过XML映射文件中的foreach标签实现数据列表的循环遍历,适用于不同类型的数据库。Oracle示例中使用了UNION ALL来构造SQL语句,而MySQL则直接使用VALUES列表。
2万+

被折叠的 条评论
为什么被折叠?



