mybatis mapper 批量插入oracle sql
时间: 2023-09-30 16:03:44 浏览: 48
在 MyBatis 的 Mapper 中,可以通过使用 `<foreach>` 标签实现批量插入操作。下面是一个示例:
```xml
<insert id="batchInsert" parameterType="java.util.List">
INSERT INTO my_table (col1, col2, col3)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.col1}, #{item.col2}, #{item.col3})
</foreach>
</insert>
```
其中,`parameterType` 指定传入的参数类型,这里使用了 `java.util.List`。在 SQL 语句中,使用 `<foreach>` 标签遍历传入的 List,分别插入每个对象的属性值。注意,使用 `separator` 属性指定分隔符,避免最后一个值后面也有逗号。
调用该 Mapper 方法时,传入的 List 中应该是要插入的对象集合。例如:
```java
List<MyObject> list = new ArrayList<>();
list.add(new MyObject("value1", "value2", "value3"));
list.add(new MyObject("value4", "value5", "value6"));
mapper.batchInsert(list);
```
以上示例中,`MyObject` 是一个自定义的实体类,包含三个属性 col1、col2、col3,对应数据库表中的列。在 Mapper 中,通过遍历传入的 List,将每个对象的属性值插入到数据库中。