使用 BatchExecutor 批量执行:MyBatis Plus 中的 Executor 接口提供了 BatchExecutor 实现类,它可以通过批量执行 SQL 语句来提高插入效率。你可以通过创建一个 SqlSession 对象,并将 ExecutorType 设置为 BATCH 来实现批量插入 实现代码
时间: 2024-04-08 11:29:37 浏览: 235
批量执行sql语句的方法
以下是使用 BatchExecutor 进行批量插入的示例代码:
```java
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class BatchInsertExample {
public static void main(String[] args) {
// 创建 MyBatis 的 SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 创建 SqlSession
try (SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH)) {
// 获取 Mapper 接口
YourMapper yourMapper = sqlSession.getMapper(YourMapper.class);
// 创建待插入的实体对象列表
List<YourEntity> entityList = new ArrayList<>();
// 添加要插入的实体对象到 entityList 中
// 执行批量插入
yourMapper.batchInsert(entityList);
// 提交事务
sqlSession.commit();
}
}
}
```
在上述代码中,需要替换掉 `inputStream`、`YourMapper` 和 `YourEntity` 分别为你自己的配置和实体类信息。同时,你需要在 `YourMapper` 接口中定义批量插入的方法 `batchInsert`。
这样,你就可以使用 BatchExecutor 执行批量插入操作,提高插入效率。记得在最后提交事务以确保数据被持久化到数据库中。
阅读全文