转载出处:https://blog.youkuaiyun.com/xingjianwu/article/details/81455776
该语句存在的问题是单个插入有问题,所以批量插入和单个插入方法的分开写
<insert id="insertuser" parameterType="java.util.List">
MERGE INTO USER U
USING
(
<foreach collection="list" item="item" index="index" separator="union" >
SELECT
#{item.id} ID,
#{item.name} NAME,
#{item.sex} SEX,
#{item.address} ADDRESS,
#{item.phone} PHONE
FROM DUAL
</foreach>
) T
ON (U.ID = T.ID)
WHEN MATCHED THEN
UPDATE SET
NAME = T.NAME,
SEX = T.SEX,
ADDRESS = T.ADDRESS,
PHOME = T.PHOME
WHEN NOT MATCHED THEN
INSERT (ID,NAME,SEX,ADDRESS,PHONE)
VALUES
(T.ID,T.NAME,T.SEX,T.ADDRESS,T.PHOME)
</insert>