mybatis中foreach hashmap 批量插入
时间: 2024-04-02 16:29:51 浏览: 192
mybatis批量添加
在MyBatis中,可以使用foreach和HashMap来实现批量插入操作。下面是一个示例:
首先,需要在Mapper XML文件中定义插入语句,使用foreach标签来循环插入HashMap中的数据。例如:
```xml
<insert id="batchInsert" parameterType="java.util.List">
INSERT INTO table_name (column1, column2)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.key1}, #{item.key2})
</foreach>
</insert>
```
其中,`list`是传入的参数,类型为`java.util.List`,每个元素是一个HashMap对象。在foreach标签中,使用`item`来引用当前HashMap对象,可以通过`item.key`的方式获取HashMap中的值。
然后,在Java代码中调用Mapper接口的方法来执行批量插入操作。例如:
```java
List<Map<String, Object>> dataList = new ArrayList<>();
Map<String, Object> data1 = new HashMap<>();
data1.put("key1", value1);
data1.put("key2", value2);
dataList.add(data1);
Map<String, Object> data2 = new HashMap<>();
data2.put("key1", value3);
data2.put("key2", value4);
dataList.add(data2);
mapper.batchInsert(dataList);
```
以上代码中,首先创建一个List对象用于存储要插入的数据,然后创建多个HashMap对象,每个HashMap对象表示一条要插入的数据,通过put方法将数据放入HashMap中,最后将HashMap对象添加到List中。最后调用Mapper接口的`batchInsert`方法执行批量插入操作。
阅读全文