📌이전에 진행한 것
프로젝트 파일 생성 ✔
application.properties 설정 ✔
domain 생성 ✔
📌해야할 것
repository 생성
service, serviceImpl 생성
controller 생성
연결 확인
repository package 생성 뒤
CategoryRepository.java 생성


T 👉 Entity명으로 변경 Category
ID 👉 실제로 category 테이블의 primary key type이 integer기 때문에 Integer로 변경

service package 생성 뒤 CategoryService.java 생성(interface)
데이터 관련 메소드를 생성
public List<Category> getAllCategory();
public Category getCategoryById(int category_id);
public Category addOrUpdateCategory(Category category);
public Category deleteCategory(int category_id) throws Exception;
serviceImpl package 생성 뒤 CategoryServiceImpl.java 생성(class)
@Service를 추가하여 비즈니스 로직 처리 가능하게 만듦
CRUD를 진행하는 repository에서 활용할 메소드를 처리할 수 있게
@Autowired
private CategoryRepository categoryRepository;
추가
의존성 주입으로 현 클래스에서 JPA 메소드 처리를 할 수 있음
기존에 repository에서 선언한 메소드를 오버라이드 하여 데이터 처리
@Override
public List<Category> getAllCategory() {
return (List<Category>) categoryRepository.findAll();
}
@Override
public Category getCategoryById(int category_id) {
return categoryRepository.findById(category_id).orElse(null);
}
@Override
public Category addOrUpdateCategory(Category category) {
return categoryRepository.save(category);
}
@Override
public Category deleteCategory(int category_id) throws Exception {
Category deleteCategory = null;
try {
deleteCategory = categoryRepository.findById(category_id).orElse(null);
if(deleteCategory == null) {
throw new Exception("Not available");
}else {
categoryRepository.deleteById(category_id);
}
}
catch(Exception e){
throw e;
}
return deleteCategory;
}
@RestController json 타입의 객체 데이터를 반환함
@Controller 주로 view를 반환
연결이 되는지 확인이 필요하므로 @RestController 추가 @RequestMapping 추가