mybatis批量插入语句
时间: 2023-06-28 22:06:52 浏览: 92
MyBatis提供了批量插入的功能,可以大大提高插入数据的效率。具体操作步骤如下:
1. 在Mapper.xml文件中编写批量插入语句,例如:
```xml
<insert id="batchInsert" parameterType="java.util.List">
insert into user (id, name, age) values
<foreach collection="list" item="item" separator=",">
(#{item.id}, #{item.name}, #{item.age})
</foreach>
</insert>
```
2. 在Java代码中调用MyBatis的批量插入方法,例如:
```java
List<User> userList = new ArrayList<>();
// 添加多个User对象到userList中
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.batchInsert(userList);
sqlSession.commit();
} catch (Exception e) {
sqlSession.rollback();
} finally {
sqlSession.close();
}
```
注意事项:
- 在Mapper.xml文件中,parameterType的类型必须是List;
- 在Java代码中,需要使用批量执行器ExecutorType.BATCH;
- 在进行批量操作时,建议开启事务,并且在finally中关闭SqlSession。
阅读全文