목록Spring Boot (40)
게으른 완벽주의자의 개발자 도전기

1. mapper SELECT S.ITEM_CODE , ITEM_PRICE , ITEM_NAME , ITEM_COMMENT , CATE_NAME , ATTACHED_NAME , IS_MAIN , ITEM_STOCK FROM SHOP_ITEM S, ITEM_IMG I, ITEM_CATEGORY C WHERE S.ITEM_CODE = I.ITEM_CODE AND S.CATE_CODE = C.CATE_CODE AND S.ITEM_CODE = #{itemCode} itemVO 2. controller @GetMapping("/itemDetail") public String itemDetail(String itemCode, Model model) { model.addAttribute("item", itemServ..

js로 장바구니 버튼 클릭 시 장바구니로 이동하기 장바구니는 회원만 사용가능하도록 만들고자 한다. 비회원이 클릭했을 때 로그인 alert을 뜨도록 하고, 회원이 클릭 시 장바구니에 담기도록 할 것이다. 1. html 장바구니 1 function addCart(){ //비회원인 경우 로그인 먼저 alert //innerHTML : 선택한 태그 안에 있는 태그 내용을 그대로 가져옴 (해석하지 않고 가져온다) 원본 그대로 가져옴 //innerText : 선택한 태그 내용을 해석하여 눈에 보여지는 데이터만 가져온다. const check_login = document.querySelector('#test').innerText; //trim() 공백제거 if(check_login.trim() == ''){ ale..

1. mapper SELECT ITEM_NAME , ITEM_PRICE , S.ITEM_CODE , ATTACHED_NAME FROM SHOP_ITEM S, ITEM_IMG I WHERE I.ITEM_CODE = S.ITEM_CODE AND IS_MAIN = 'Y' ORDER BY I.ITEM_CODE DESC 2. controller @GetMapping("/list") //boolean isLoginFail 로그인 실패할 때만 데이터를 true로 받아온다 public String itemList(boolean isLoginFail, Model model) { //로그인 성공, 실패 여부 데이터를 html에 전달(로그인 실패했어도 메인 화면을 보이도록 하기 위함) model.addAttribute("i..

1. html 2. mapper SELECT MEMBER_ID , MEMBER_NAME , MEMBER_ADDR||' '|| ADDR_DETAIL AS MEMBER_ADDR , MEMBER_EMAIL , DECODE(MEMBER_ROLE, 'MEMBER', '일반회원','관리자')AS MEMBER_ROLE , DECODE(MEMBER_STATUS, 'ACTIVE', '활동중','휴면계정') AS MEMBER_STATUS FROM SHOP_MEMBER WHERE MEMBER_ID = #{memberId} @Override public MemberVO memberDetail(String memberId) { return sqlSession.selectOne("memberMapper.memberDetail",..

상품등록 상품관리 회원권한설정 메뉴관리 th:classappend 를 활용하여 해당 조건에 맞다면 active 를 추가하여 side 화면에 파란색 표시가 뜨도록 설정하였다. 2. controller 모든 메소드가 실행되기 전에 무조건 실행되는 메소드 @ModelAttribute해당 컨트롤러 실행되기 전 무조건 호출된다. public void test(@RequestParam(defaultValue = "1") String menu, Model model) { (관리자로 로그인 시 디폴트 값으로 1을 준다) model.addAttribute("menu", menu); }

카테고리를 등록하고, 기 등록된 카테고리의 사용여부 라디오 표시 상태 변경에 따라 상품등록의 카테고리에서도 사용중인 카테고리 목록만 뜨도록 설정할 것이다. 1. 카테고리 등록 1) html 카테고리 등록 등록 2) controller 카테고리 등록 @PostMapping("/regCate") public String regCate(CateVO cateVO) { cateVO.setCateStatus(CateStatus.USE.toString()); adminService.regCate(cateVO); return "redirect:/admin/main"; } enum 활용하기 cateStatus의 기본값은 USE이다. setting할 때 USE가 들어가도록 ENUM에 위 두가지를 정의한다. 2. 카테고리 ..

1. html 상품등록 상품 이름 상품 재고 상품가격 카테코드 전체 Main IMG Sub IMG 상품 코맨트 등록 2. mapper ITEM_CODE 가져오기 SELECT 'ITEM_'||LPAD(NVL(MAX(TO_NUMBER(SUBSTR(ITEM_CODE, 6))),0)+1, 3, 0) FROM SHOP_ITEM 상품등록 INSERT INTO SHOP_ITEM ( ITEM_CODE , ITEM_NAME , ITEM_STOCK , ITEM_PRICE , CATE_CODE , ITEM_COMMENT )VALUES( #{itemCode} , #{itemName} , #{itemStock} , #{itemPrice} , #{cateCode} , #{itemComment} ) 이미지 등록 INSERT INT..

1. html No. 카테고리 상품명 가격 재고 등록일 상태 판매중 매진 수량이 변경되었습니다. 확인 enum으로 단어 정의 해줬음. 2. 재고 수량 변경 js 1) controller @PostMapping("/updateStock") @ResponseBody public void updateStock(ItemVO itemVO) { itemService.changeStock(itemVO); } 2) js function updateStock(itemCode, selectedTag){ parentElement : 부모태그 찾아 감. children : 자식 태그 찾아 감.(자식들 다 데려오는것 복수형이니까 배열형태로 가져옴) previousElementSibling : 이전 형제 노드를 찾아 감. nex..