以下是一个基于Spring Boot的水果表项目的示例:

  1. 创建一个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>
  1. 创建一个名为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方法
}
  1. 创建一个名为FruitRepository的接口,继承自JpaRepository,用于对Fruit实体的数据库操作:
@Repository
public interface FruitRepository extends JpaRepository<Fruit, Long> {
}
  1. 创建一个名为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();
    }
}
  1. 创建一个名为ResourceNotFoundException的异常类,用于处理资源未找到的情况:
@ResponseStatus(HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException {
    public ResourceNotFoundException(String message) {
        super(message);
    }
}
  1. 运行Spring Boot应用程序,并使用Postman或类似的工具进行测试。

这个示例项目实现了基本的CRUD(创建、读取、更新、删除)操作,你可以根据实际需求进行扩展和修改

写一个基于spring boot的水果表项目包括名称、价格、数量、id

原文地址: http://www.cveoy.top/t/topic/i0e9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录