编写mybatis插入语句,尽量别直接调用多次insert,在自己的mapper里面新增一个方法batchInsert,所有数据一次性插入
时间: 2024-04-08 07:29:07 浏览: 133
在MyBatis中,可以通过批量插入来一次性插入多条数据,而不是多次调用insert语句。下面是一个示例代码,展示如何在自己的Mapper接口中新增一个batchInsert方法来实现批量插入:
```java
public interface YourMapper {
void batchInsert(List<YourDataClass> dataList);
}
```
在上述代码中,`YourDataClass`表示你的数据类,可以根据需要进行定义。
接下来,在对应的Mapper XML文件中,编写批量插入的SQL语句:
```xml
<insert id="batchInsert" parameterType="java.util.List">
INSERT INTO your_table (column1, column2, ...) VALUES
<foreach collection="list" item="item" separator=",">
(#{item.property1}, #{item.property2}, ...)
</foreach>
</insert>
```
在上述代码中,`your_table`表示你要插入数据的表名,`column1, column2, ...`表示表的列名,根据实际情况进行替换。`property1, property2, ...`表示数据类的属性名,需要与数据类的属性对应。
最后,在你的业务代码中调用`batchInsert`方法即可完成批量插入操作:
```java
@Autowired
private YourMapper yourMapper;
public void insertBatch(List<YourDataClass> dataList) {
yourMapper.batchInsert(dataList);
}
```
在上述代码中,`dataList`是包含多个待插入数据对象的列表。
通过以上步骤,你就可以使用MyBatis实现一次性插入多条数据了。这样可以提高插入数据的效率,减少数据库操作的次数。希望对你有所帮助!
阅读全文