mybatis用on duplicate key update批量实现存在更新,不存在插入示例
时间: 2023-03-30 15:00:33 浏览: 191
Mybatis批量更新三种方式的实现
5星 · 资源好评率100%
可以使用MyBatis的批量插入功能,结合ON DUPLICATE KEY UPDATE语句实现存在更新,不存在插入的功能。具体实现方法可以参考以下代码示例:
```
<insert id="batchInsertOrUpdate" parameterType="java.util.List">
insert into table_name (column1, column2, column3)
values
<foreach collection="list" item="item" separator=",">
(#{item.column1}, #{item.column2}, #{item.column3})
</foreach>
on duplicate key update
column1 = values(column1),
column2 = values(column2),
column3 = values(column3)
</insert>
```
其中,list为传入的实体列表,item为实体对象,column1、column2、column3为表中的列名。在执行批量插入时,如果某个实体对象的主键已经存在,则会执行更新操作,否则执行插入操作。
阅读全文