java基于springboot宠物信息管理系统的设计与实现(源码+视频录制)
由于提供完整的源代码和视频录制超过了字数限制,我将提供关键代码片段和相关指导。
数据库实体类(Pet.java)
import javax.persistence.*;
@Entity
public class Pet {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@Enumerated(EnumType.STRING)
private PetType type;
// 省略getter和setter方法
}
服务层接口(PetService.java)
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
public interface PetService {
Pet save(Pet pet);
Page<Pet> findAll(Pageable pageable);
Pet findById(Long id);
void deleteById(Long id);
}
服务层实现类(PetServiceImpl.java)
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
@Service
public class PetServiceImpl implements PetService {
@Autowired
private PetRepository petRepository;
@Override
public Pet save(Pet pet) {
return petRepository.save(pet);
}
@Override
public Page<Pet> findAll(Pageable pageable) {
return petRepository.findAll(pageable);
}
@Override
public Pet findById(Long id) {
return petRepository.findById(id).orElse(null);
}
@Override
public void deleteById(Long id) {
petRepository.deleteById(id);
}
}
控制器类(PetController.java)
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Pageable;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/pets")
public class PetController {
@Autowired
private PetService petService;
@PostMapping
public Pet addPet(@RequestBody Pet pet) {
return petService.save(pet);
}
@GetMapping
public ResponseEntity<Page<Pet>> getPets(Pageable pageable) {
Page<Pet> pets = petService.findAll(pageable);
return ResponseEntity.ok(pets);
}
@GetMapping("/{id}")
public Pet getPet(@PathVariable Long id) {
return petService.findById(id);
}
@DeleteMapping("/{id}")
public void deletePet(@PathVariable Long id) {
评论已关闭