🏫 Open API_JAVA

[87일차] 장바구니 담기 / 장바구니 목록

Dorothy_YANG 2022. 11. 27. 21:35
728x90

20221125(금)

  • 목차
    - 장바구니 담기
    - 장바구니 목록


< 장바구니 담기 >

 

0. 장바구니 테이블 및 시퀀스 생성

CREATE TABLE CART_TBL(
   CART_CODE          NUMBER                        PRIMARY KEY,         
   PDT_NUM            NUMBER                        NOT NULL,
   MEM_ID             VARCHAR2(15)                  NOT NULL,
   CART_AMOUNT        NUMBER                        NOT NULL
);

-- 장바구니 시퀀스
CREATE SEQUENCE SEQ_CART_CODE;

1. CartVO 클래스


2. Cart 컨트롤러


3. Cart 매퍼

 

✔ MERGE INTO?
    ➡ 
이미 장바구니에 담겨있는 상품이라면 amount만 변경, 아니라면 새로 추가

https://gent.tistory.com/406

 

[Oracle] 오라클 MERGE INTO 사용법 & 노하우 정리

오라클에서 쿼리문을 작성하다 보면, 하나의 쿼리문으로 INSERT, UPDATE, DELETE 작업을 해야 하는 경우가 있다. 이럴 때에는 MERGE 문을 사용하면 간단하게 쿼리문을 작성할 수 있다. 오라클 9i부터 MERGE

gent.tistory.com


4. Cart 서비스


5. Cart 컨트롤러에 주입


6. productList.jsp 에 코드추가

     아래 jQuery 추가

<script>

    $(document).ready(function(){

      //장바구니 클릭
      $("button[name='btnCart']").on("click", function(){
        
        $.ajax({
          url: '/cart/cart_add',
          data: {pdt_num : $(this).parent().find("input[name='pdt_num']").val(), cart_amount : 1},  // javascript object구문
          success : function(result) {
            if(result == "success") {
              alert("장바구니에 추가됨.");
              if(confirm("장바구니로 이동하시겠습니까?")) {
                location.href = "장바구니목록주소";
              }
            }
          }
        });
      });
    });

  </script>

 


< 장바구니 목록 >

 

1. Cart 컨트롤러


2. CartVOList 클래스

    - CartVO 클래스와 ProductVO 클래스 참고해서 생성


3. Cart 매퍼


4. Cart 서비스


5. Cart 컨트롤러에 주입

 

6. views > cart > cartList.jsp (catagoryMenu.jsp 복붙) 

 

 

 

ex) 실행화면


+) 추가작업

 

1. Cart 컨트롤러

- 업로드 폴더 주입(Product Controller에도 동시에)

- 상품 목록에서 이미지 보여주기(Product Controller에도 동시에)

- 장바구니 수량변경 코드 추가

- 장바구니 삭제, 비우기 코드 추가

 

2. 매퍼, 서비스

- 수량변경, 삭제, 비우기 코드 추가

 

3. 매퍼. xml

<update id="cart_qty_change">

    UPDATE 
        CART_TBL
    SET
        CART_AMOUNT = #{cart_amount}
    WHERE
        CART_CODE = #{cart_code}

</update>

<delete id="cart_delete">

    DELETE FROM
        CART_TBL
    WHERE
        CART_CODE = #{cart_code}

</delete>

<delete id="cart_empty">

    DELETE FROM
        CART_TBL
    WHERE
        MEM_ID = #{mem_id}

</delete>

 

4. cartList.jsp에 코드 추가

- 장바구니 삭제

- 장바구니 비우기

 

728x90