강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

ehtkstk0님의 프로필 이미지
ehtkstk0

작성한 질문수

쇼핑몰 상품 옵션DB 관련 질문있습니다

해결된 질문

작성

·

1.5K

0

1.png

2.png

 

예를 들어

옷 쇼핑몰에서 관리자가 상품을 등록 할 때 체크 박스로 흰색, 검정색을 선택한 뒤 등록하면

회원이 해당 옷을 구매하려고 들어가서 색상 옵션을 고를 때 흰색, 검정색만 뜨도록

구현하려고 합니다. 어떤 식으로 만들어야 할지 감이 안 잡혀서 질문 글을 작성하게 됐습니다 ㅜㅜ

 

 

option_category 테이블에 각 옵션 카테고리 코드 별로 옵션 이름과 옵션 값을 넣어주고

스크린샷(115).png

product_option 에서 상품 코드와 옵션 카테고리 코드를 외래 키로 받아서 예를 들면

상품 옵션 코드 : 1 상품 코드 : 3 옵션 카테고리 코드 : 5 (흰색 카테고리 코드)

상품 옵션 코드: 2 상품 코드 : 3 옵션 카테고리 코드 : 6 (검정색 카테고리 코드)

상품 옵션 코드: 3 상품 코드: 3 옵션 카테고리 코드 : 7 (갈색 카테고리 코드)

이런 식으로 해서 3번 상품에 5, 6 ,7 의 옵션을 넣어줘서 상품 구매 시 옵션 선택지가

5, 6, 7만 뜨도록 하려고 합니다.

mapper문 작성 시

insert into product_option ( product_code, option_category_code ) values

( #{product_code}, #{option_category_code} );

이렇게 작성하면 3번 상품에 5, 6, 7 세 가지의 옵션을 넣으려면 5번 넣고 6번 넣고 7번 넣고 3번을 반복해야 하는 거 같은데.. 한 번에 5, 6, 7의 옵션을 넣는 방법이 있을까요?

상품 등록 시 옵션 카테고리를 체크 박스로 골라서 등록을 해주면 product_option 테이블에

상품 옵션 코드 : 1 상품 코드 : 3 옵션 카테고리 코드 : 5 (흰색 카테고리 코드)

상품 옵션 코드: 2 상품 코드 : 3 옵션 카테고리 코드 : 6 (검정색 카테고리 코드)

상품 옵션 코드: 3 상품 코드: 3 옵션 카테고리 코드 : 7 (갈색 카테고리 코드)

이런 식으로 등록되도록 하고 싶습니다.

 

6.png

 

그리고 혹시 products, option_category, product_option 3개의 테이블 각각 Vo를 따로따로

만들어 줘야하는지도 궁금합니다.

 

3.png

 

 

4.png

 

 

 

5.png

위에 insertBoard와 write_process는 List<Integer> option_codes로

체크 박스 선택된 애들의 value를 받아와서 사용자가 상품 구매 시 고를 수 있는 옵션 선택지에 넣어주려고 했는데

<option> </option> 여기에 어떻게 넣어줘야 할지 모르겠습니다.

 

  1. mapper 작성을 어떤식으로 해야할까요?

2. 각 테이블 별로 vo를 따로 만들어줘야 하나요?

3.상품 등록 때 체크 박스들을 통해 넣어준 값들을 상품 구매 페이지에 있는 옵션에 넣어주려면 어떻게 해야할까요?

 

공부를 계속 해보고 있는데 감이 잘 안 잡혀서 질문 드립니다.. 너무 다 떠먹여달라는 느낌이라 염치없지만 도와주시면 감사하겠습니다!!

 

 

 

 

 

답변 1

1

안녕하세요, 인프런 AI 인턴이에요.

옷 쇼핑몰에서 상품의 옵션을 관리하기 위해 option_category 테이블과 product_option 테이블을 사용하려고 하는데요, 맞게 이해했을까요?

만약 그렇다면, 옵션별로 카테고리 코드를 설정하고, 옵션 값을 넣어주는 것은 올바른 방법입니다. 그리고 상품과 옵션 카테고리를 연결하기 위해 product_option 테이블을 사용하신 것도 맞습니다.

다만, 옵션 선택 시에 해당 옵션만 뜨도록 구현하려면 로직을 추가해주어야 합니다. 예를 들어, 옵션 선택 페이지를 생성할 때 해당 상품에 등록된 옵션 카테고리만 가져와서 보여주는 방식으로 구현하면 될 것 같습니다.

mapper 문을 작성할 때도 옵션 값과 상품 코드를 매개변수로 받아서 해당 값을 product_option 테이블에 넣어주는 방식으로 작성하면 됩니다. 예를 들면, 상품 옵션 코드는 자동으로 생성되도록 설정하고, 상품 코드와 옵션 카테고리 코드만을 넣어주는 방식으로 작성할 수 있습니다.

물론 이는 하나의 예시일뿐, 실제 구현 방식은 상황에 따라 다를 수 있습니다. 만약 더 자세한 도움이 필요하시다면, 데이터베이스 구조와 코드에 대한 정보를 더 자세히 알려주시면 더 정확한 답변을 드릴 수 있을 거예요.

간단히 설명드렸지만, 더 궁금하신 내용이 있다면 언제든 질문해주세요. 적절한 답변을 드리도록 노력하겠습니다. 감사합니다.

ehtkstk0님의 프로필 이미지
ehtkstk0
질문자

감사합니다!!

ehtkstk0님의 프로필 이미지
ehtkstk0

작성한 질문수

질문하기