mybatis中 批量插入map
时间: 2023-10-13 11:06:45 浏览: 81
mybatis批量添加
在MyBatis中,可以使用foreach标签进行批量插入map。具体步骤如下:
1. 在Mapper.xml中定义insert语句,使用foreach标签进行循环插入:
```
<insert id="batchInsert" parameterType="java.util.List">
insert into table_name (column1, column2, column3)
values
<foreach collection="list" item="map" separator=",">
(#{map.column1},#{map.column2},#{map.column3})
</foreach>
</insert>
```
2. 在Java代码中,构造一个List,其中每个元素都是一个Map,Map中存放了每个插入的字段和对应的值:
```
List<Map<String, Object>> dataList = new ArrayList<>();
Map<String, Object> data1 = new HashMap<>();
data1.put("column1", value1);
data1.put("column2", value2);
data1.put("column3", value3);
dataList.add(data1);
Map<String, Object> data2 = new HashMap<>();
data2.put("column1", value4);
data2.put("column2", value5);
data2.put("column3", value6);
dataList.add(data2);
```
3. 调用SqlSession的insert方法执行批量插入:
```
sqlSession.insert("batchInsert", dataList);
```
阅读全文