springboot数据导入
时间: 2023-11-07 09:03:51 浏览: 83
spring-boot导入导出
要在Spring Boot中进行数据导入,你可以使用Apache POI来读取Excel或CSV文件,并将数据存储到数据库中。首先,你需要配置POM文件以引入Apache POI依赖。然后,你可以编写代码来读取文件和解析数据,并使用Spring Data JPA或MyBatis将数据保存到数据库中。
下面是一个示例代码来演示如何在Spring Boot中进行数据导入:
1. 配置POM文件:
```xml
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
```
2. 编写数据导入代码:
```java
@RestController
public class DataImportController {
@Autowired
private DataImportService dataImportService;
@PostMapping("/import")
public void importData(@RequestParam("file") MultipartFile file) throws Exception {
dataImportService.importData(file);
}
}
@Service
public class DataImportService {
@Autowired
private UserRepository userRepository; // 替换成你的Repository
public void importData(MultipartFile file) throws Exception {
InputStream inputStream = file.getInputStream();
Workbook workbook;
if (file.getOriginalFilename().endsWith(".xlsx")) {
workbook = new XSSFWorkbook(inputStream);
} else if (file.getOriginalFilename().endsWith(".csv")) {
workbook = new CSVWorkbook(inputStream);
} else {
throw new IllegalArgumentException("Unsupported file format");
}
Sheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
// 解析数据并保存到数据库
User user = new User();
user.setName(row.getCell(0).getStringCellValue());
user.setEmail(row.getCell(1).getStringCellValue());
user.setAge((int) row.getCell(2).getNumericCellValue());
userRepository.save(user);
}
workbook.close();
}
}
```
现在你可以通过发送POST请求到`/import`接口,并在请求参数中包含要导入的文件来导入数据。
阅读全文