Spring Projcect/[갠플] Online-mall

[7일차] 관리자 API - 상품 조회

계란💕 2022. 9. 29. 20:03

 

1. Product 관리 - 등록, 수정, 삭제

 

  • ProductDto (상품 리스트 반환할 때 쓰인다.)
    • 엔티티인 Product를 직접 사용해서 어떤 코드를 작성하면 참조형 데이터의 특성상 데이터베이스의 내용이 바로 변경될 우려가 있다.
    • 그래서 Dto라는 클래스를 이용한다.
java
열기

 

  • ProductInput (상품 수정)
java
열기

 

  • ProductParam - id만 가지고 상품을 찾을 때 쓸 수 있다.
java
열기

 

  •  AdminProductController
    • 상품 update는 바뀔 수도 있음
java
열기

 

  • ProductService 
java
열기

 

========================오류 - update() 가 작동하지 않는다. ========================

  • 오류: update()를 실행해도 데이터베이스에 들어가지 않는다.
  • 원인: product를 save()하지 않았다.
java
열기

 

  • list.html
java
열기

 

  Note) 실행 결과

 

 

 

 

  Ex) delete 테스트

productService.delete(1L);

 

  • delete () 실행 전

 

  • delete () 실행 후

 

 

 

  Ex) update 테스트

  • test
java
열기

 

  • productServiceImpl
java
열기

 

  • update() 실행 

  • update() 실행 후

 

 

 

점검 사항

  • add(), delete() 는 확인 완료
  • update() 구현부 마지막에 save()를 해줘야한다!
  • 상품 추가, delete는 html에 내용 추가하기
  • cart : product 는 일대다 연관 관계
    • 그러면 cart하나에 여러 개의 product를 매핑 가능하다
    • 장바구니는 곧 멤버를 의미한다.