[87일차] 장바구니 담기 / 장바구니 목록
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만 변경, 아니라면 새로 추가
[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에 코드 추가
- 장바구니 삭제
- 장바구니 비우기