写一个基于spring boot的水果表项目包括名称、价格、数量、id
以下是一个基于Spring Boot的水果表项目的示例:
- 创建一个Spring Boot项目,包括以下依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
- 创建一个名为Fruit的实体类,包含名称、价格、数量和id属性:
@Entity
@Table(name = "fruits")
public class Fruit {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private double price;
private int quantity;
// 省略构造函数、getter和setter方法
}
- 创建一个名为FruitRepository的接口,继承自JpaRepository,用于对Fruit实体的数据库操作:
@Repository
public interface FruitRepository extends JpaRepository<Fruit, Long> {
}
- 创建一个名为FruitController的控制器类,处理与水果表相关的HTTP请求:
@RestController
@RequestMapping("/fruits")
public class FruitController {
@Autowired
private FruitRepository fruitRepository;
@GetMapping
public List<Fruit> getAllFruits() {
return fruitRepository.findAll();
}
@PostMapping
public Fruit createFruit(@RequestBody Fruit fruit) {
return fruitRepository.save(fruit);
}
@GetMapping("/{id}")
public Fruit getFruitById(@PathVariable Long id) {
return fruitRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Fruit not found with id: " + id));
}
@PutMapping("/{id}")
public Fruit updateFruit(@PathVariable Long id, @RequestBody Fruit fruitDetails) {
Fruit fruit = fruitRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Fruit not found with id: " + id));
fruit.setName(fruitDetails.getName());
fruit.setPrice(fruitDetails.getPrice());
fruit.setQuantity(fruitDetails.getQuantity());
return fruitRepository.save(fruit);
}
@DeleteMapping("/{id}")
public ResponseEntity<?> deleteFruit(@PathVariable Long id) {
Fruit fruit = fruitRepository.findById(id)
.orElseThrow(() -> new ResourceNotFoundException("Fruit not found with id: " + id));
fruitRepository.delete(fruit);
return ResponseEntity.ok().build();
}
}
- 创建一个名为ResourceNotFoundException的异常类,用于处理资源未找到的情况:
@ResponseStatus(HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException {
public ResourceNotFoundException(String message) {
super(message);
}
}
- 运行Spring Boot应用程序,并使用Postman或类似的工具进行测试。
这个示例项目实现了基本的CRUD(创建、读取、更新、删除)操作,你可以根据实际需求进行扩展和修改
原文地址: http://www.cveoy.top/t/topic/i0e9 著作权归作者所有。请勿转载和采集!