怎么写一个基于spring boot的水果表包括价格名称数量Service详细代码介绍
首先,我们需要创建一个表示水果的实体类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来实现对数据库的访问
原文地址: http://www.cveoy.top/t/topic/iXSn 著作权归作者所有。请勿转载和采集!