Springboot Mybatis 多线程大量数据查询和插入代码
时间: 2024-05-13 18:13:52 浏览: 100
以下是一个简单的 Spring Boot + Mybatis 多线程批量查询和插入数据的示例代码:
查询代码:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
@Async
public CompletableFuture<List<User>> getAllUsers() {
List<User> userList = userMapper.getAllUsers();
return CompletableFuture.completedFuture(userList);
}
}
```
插入代码:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
@Async
public CompletableFuture<Integer> batchInsertUsers(List<User> userList) {
int result = userMapper.batchInsertUsers(userList);
return CompletableFuture.completedFuture(result);
}
}
```
在查询和插入方法上使用 @Async 注解,启用异步处理。查询方法使用 CompletableFuture 包装结果,插入方法直接返回结果。使用 Mybatis 的批量插入功能,将多条数据一次性插入数据库,提高插入效率。
需要注意的是,需要在 Spring Boot 启动类上加上 @EnableAsync 注解启用异步处理。同时,多线程处理大量数据需要注意线程安全和内存消耗问题。
阅读全文