mybatis中针对oracle数据库批量新增的sql该怎么写
时间: 2024-03-05 13:51:30 浏览: 82
针对Oracle数据库的批量新增,可以使用MyBatis的`foreach`标签和Oracle的`INSERT ALL`语法来实现。具体操作如下:
1. 在Mapper XML文件中编写批量新增的SQL语句,使用`INSERT ALL`语法,如下所示:
```xml
<insert id="batchInsert" parameterType="java.util.List">
INSERT ALL
<foreach collection="list" item="item" separator=" ">
INTO table_name (column1, column2, column3) VALUES (#{item.column1}, #{item.column2}, #{item.column3})
</foreach>
SELECT 1 FROM DUAL
</insert>
```
2. 在Java代码中调用Mapper接口中的`batchInsert`方法,传入一个List参数,其中List中的每个元素代表一条待插入的数据。
```java
List<Data> dataList = new ArrayList<>();
dataList.add(new Data("value1", "value2", "value3"));
dataList.add(new Data("value4", "value5", "value6"));
dataList.add(new Data("value7", "value8", "value9"));
dataMapper.batchInsert(dataList);
```
其中,`Data`为数据实体类,包含待插入数据的各个字段。
这样就可以实现MyBatis针对Oracle数据库的批量新增操作了。
阅读全文