mybatis批量新增
时间: 2023-06-30 20:25:57 浏览: 95
Mybatis框架(批量添加)
MyBatis提供了两种方式来批量新增数据:
1. 使用foreach标签
```
<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>
```
其中,`parameterType`指定传入的参数类型为`List`,`foreach`标签用于遍历列表,`item`用于指定单个元素的别名,`separator`指定分隔符。
2. 使用批量处理方法
```
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
try {
Mapper mapper = sqlSession.getMapper(Mapper.class);
for (Object obj : list) {
mapper.insert(obj);
}
sqlSession.flushStatements();
sqlSession.commit();
} finally {
sqlSession.close();
}
```
其中,`SqlSession`的`ExecutorType`需要设置为`BATCH`,然后遍历列表逐个执行插入操作,最后通过`flushStatements()`方法将所有操作批量执行,并通过`commit()`方法提交事务。
这两种方式都可以实现批量新增数据,具体使用哪种方式取决于你的具体场景和个人偏好。
阅读全文