mybatis 批量插入写法
时间: 2023-10-14 14:05:06 浏览: 122
MyBatis提供了两种批量插入的写法:使用foreach标签和使用insert语句的方式。下面我分别介绍一下这两种写法。
1. 使用foreach标签:
```xml
<insert id="batchInsert" parameterType="java.util.List">
INSERT INTO table_name (column1, column2, ...)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.column1}, #{item.column2}, ...)
</foreach>
</insert>
```
上述代码中,`table_name` 是要插入数据的表名,`column1, column2, ...` 是需要插入的字段名,`list` 是传入的参数列表,`item` 是遍历的每个对象。
在调用该批量插入方法时,只需将多个对象封装到一个List中,然后将该List作为参数传入。
2. 使用insert语句的方式:
```xml
<insert id="batchInsert" parameterType="java.util.List">
<foreach collection="list" item="item" separator=";">
INSERT INTO table_name (column1, column2, ...)
VALUES (#{item.column1}, #{item.column2}, ...)
</foreach>
</insert>
```
上述代码中,与第一种方式不同的是,这里使用了多个insert语句来实现批量插入。同样,需要将多个对象封装到一个List中,然后将该List作为参数传入批量插入方法。
这两种方式都可以实现批量插入数据,选择哪种方式取决于具体的使用场景和个人偏好。希望对你有帮助!如果还有其他问题,请继续提问。
阅读全文