mybaits 批量ON DUPLICATE KEY UPDATE
时间: 2023-11-11 16:00:11 浏览: 121
SpringBoot课程Mybaits-Plus分页逻辑删除
可以使用 MyBatis 的批量插入功能和 ON DUPLICATE KEY UPDATE 语句结合实现批量更新或插入数据。具体实现方式如下:
1. 在 Mapper.xml 文件中编写 SQL 语句,使用 INSERT INTO ... ON DUPLICATE KEY UPDATE ... 语法实现批量更新或插入数据。
2. 在 Java 代码中调用 MyBatis 的批量插入方法,将需要插入或更新的数据作为参数传入。
以下是一个示例代码:
Mapper.xml 文件中的 SQL 语句:
```
<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>
```
Java 代码中的调用:
```
List<Data> dataList = new ArrayList<>();
// 添加需要插入或更新的数据到 dataList 中
mapper.batchInsertOrUpdate(dataList);
```
阅读全文