首先,我们需要创建一个表示水果的实体类Fruit,其中包括价格、名称和数量的属性。

@Entity
public class Fruit {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private double price;
    private int quantity;

    // 构造方法、getter和setter方法

}

接下来,我们需要创建一个数据访问层接口FruitRepository,用于对数据库进行CRUD操作。

@Repository
public interface FruitRepository extends JpaRepository<Fruit, Long> {
    // 自定义查询方法,如根据名称查询水果
    List<Fruit> findByName(String name);
}

然后,我们创建一个服务层接口FruitService,用于定义水果表的业务逻辑。

public interface FruitService {
    List<Fruit> getAllFruits();
    Fruit getFruitById(Long id);
    List<Fruit> getFruitsByName(String name);
    void addFruit(Fruit fruit);
    void updateFruit(Long id, Fruit fruit);
    void deleteFruit(Long id);
}

接着,我们创建一个实现FruitService接口的类FruitServiceImpl,具体实现水果表的业务逻辑。

@Service
public class FruitServiceImpl implements FruitService {
    @Autowired
    private FruitRepository fruitRepository;

    @Override
    public List<Fruit> getAllFruits() {
        return fruitRepository.findAll();
    }

    @Override
    public Fruit getFruitById(Long id) {
        return fruitRepository.findById(id).orElse(null);
    }

    @Override
    public List<Fruit> getFruitsByName(String name) {
        return fruitRepository.findByName(name);
    }

    @Override
    public void addFruit(Fruit fruit) {
        fruitRepository.save(fruit);
    }

    @Override
    public void updateFruit(Long id, Fruit fruit) {
        Fruit existingFruit = fruitRepository.findById(id).orElse(null);
        if (existingFruit != null) {
            existingFruit.setName(fruit.getName());
            existingFruit.setPrice(fruit.getPrice());
            existingFruit.setQuantity(fruit.getQuantity());
            fruitRepository.save(existingFruit);
        }
    }

    @Override
    public void deleteFruit(Long id) {
        fruitRepository.deleteById(id);
    }
}

最后,我们可以在控制器层使用FruitService来处理水果表的请求。

@RestController
@RequestMapping("/fruits")
public class FruitController {
    @Autowired
    private FruitService fruitService;

    @GetMapping
    public List<Fruit> getAllFruits() {
        return fruitService.getAllFruits();
    }

    @GetMapping("/{id}")
    public Fruit getFruitById(@PathVariable Long id) {
        return fruitService.getFruitById(id);
    }

    @GetMapping("/name/{name}")
    public List<Fruit> getFruitsByName(@PathVariable String name) {
        return fruitService.getFruitsByName(name);
    }

    @PostMapping
    public void addFruit(@RequestBody Fruit fruit) {
        fruitService.addFruit(fruit);
    }

    @PutMapping("/{id}")
    public void updateFruit(@PathVariable Long id, @RequestBody Fruit fruit) {
        fruitService.updateFruit(id, fruit);
    }

    @DeleteMapping("/{id}")
    public void deleteFruit(@PathVariable Long id) {
        fruitService.deleteFruit(id);
    }
}

以上就是基于Spring Boot的水果表的Service层的详细代码介绍。在这个例子中,我们使用了Spring Data JPA来实现对数据库的访问

怎么写一个基于spring boot的水果表包括价格名称数量Service详细代码介绍

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

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