springboot mybatis 批量插入
时间: 2023-11-21 19:56:01 浏览: 82
在Spring Boot中使用MyBatis进行批量插入有两种常见的方式:
1. 使用MyBatis的foreach标签来实现循环插入,示例代码如下:
```java
public void insert(List<HzbsErpBom> bomList){
bomService.insertHzbsErpBomList(bomList);
}
<!-- MyBatis映射文件 -->
<insert id="insertHzbsErpBomList" parameterType="List">
insert into hzbs_erp_bom (id,create_user,create_time)
<foreach collection="list" open="values" item="item" separator=",">
( #{item.id}, #{item.createUser}, #{item.createTime} )
</foreach>
</insert>
```
2. 使用批处理的方式,设置手动提交,利用for循环生成sql,生成完毕后,一次性提交sql,示例代码如下:
```java
public void insert(List<HzbsErpBom> bomList){
//设置批量手动提交
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
HzbsErpBomMapper hzbsErpBomMapper = sqlSession.getMapper(HzbsErpBomMapper.class);
bomList.stream().forEach(bom -> hzbsErpBomMapper.insertHzbsErpBom(bom));
//提交数据
sqlSession.commit();
sqlSession.close();
}
```
阅读全文