MyBatis-Plus saveBatch是一条一条执行的 我想让他变成真正批量执行的语句
时间: 2024-02-15 12:02:53 浏览: 238
MyBatis通过BATCH批量提交的方法
MyBatis-Plus的saveBatch方法默认是一条一条执行的,如果要让它变成真正批量执行的语句,可以使用MyBatis-Plus提供的BatchExecutor执行器。
具体实现步骤如下:
1.在配置文件中配置BatchExecutor执行器:
```xml
<!--配置BatchExecutor执行器-->
<settings>
<setting name="executorType" value="BATCH"/>
</settings>
```
2.使用BatchExecutor执行器执行saveBatch方法:
```java
//获取BatchExecutor执行器
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSessionFactory().openSession(ExecutorType.BATCH);
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//创建用户列表
List<User> userList = new ArrayList<>();
userList.add(new User("user1", "123456"));
userList.add(new User("user2", "123456"));
userList.add(new User("user3", "123456"));
userList.add(new User("user4", "123456"));
userList.add(new User("user5", "123456"));
//执行saveBatch方法
userMapper.saveBatch(userList);
//手动提交事务
sqlSession.commit();
```
注意:使用BatchExecutor执行器时,需要手动提交事务,否则数据不会被真正保存到数据库中。
阅读全文