Spring Boot 使用 spring-boot-starter-data-jpa
和 spring-boot-starter-web
依赖可以快速实现简单的导入导出功能。以下是一个简单的导入导出示例:
首先,添加 Maven 依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 如果需要导出为 Excel 文件,可以添加以下依赖 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
</dependencies>
实体类(Entity)示例:
import javax.persistence.*;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// 省略 getter 和 setter 方法
}
仓库接口(Repository)示例:
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Long> {
}
服务类(Service)示例:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public List<User> listAllUsers() {
return userRepository.findAll();
}
// 导入方法根据需要实现
public void importUsers(List<User> users) {
// 实现导入逻辑
}
}
控制器(Controller)示例:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
// 导出接口
@GetMapping("/export")
public List<User> exportUsers() {
return userService.listAllUsers();
}
// 导入接口
@PostMapping("/import")
public void importUsers(@RequestBody List<User> users) {
userService.importUsers(users);
}
}
以上代码提供了简单的导入和导出功能,导出接口使用 GET 请求,导入接口使用 POST 请求。如果需要导出为 Excel 文件,可以使用 Apache POI 库进行操作,并提供相应的导出接口。导入通常处理上传的文件(如 CSV 或 Excel 文件),解析内容,然后将数据保存到数据库中。
注意:实际应用中,导入导出功能可能需要考虑更多安全性和性能因素,如文件上传大小限制、分页处理、事务管理等。