mybatis中 批量插入map
时间: 2023-10-12 21:05:06 浏览: 51
MyBatis中可以使用foreach标签批量插入map。
示例代码如下:
```xml
<insert id="batchInsert" 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>
</insert>
```
其中,list为传入的List<Map<String, Object>>类型参数,item为Map类型的每一项数据,column1、column2、column3为表中的列名,需要根据实际情况替换。
使用方法如下:
```java
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("column1", "value1");
map1.put("column2", "value2");
map1.put("column3", "value3");
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("column1", "value4");
map2.put("column2", "value5");
map2.put("column3", "value6");
list.add(map2);
// 执行批量插入
sqlSession.insert("batchInsert", list);
```
其中,sqlSession为MyBatis中的SqlSession对象。