일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ㅏㄴ
- 멋사 서류평가
- 기사 제목 크롤링
- 크롤링
- IT동아리
- django
- 깃허브
- 파이썬 크롤링
- 디스코드봇
- discord
- 알림봇
- 멋사11기
- 멋사 합격
- 파이썬
- 멋사12
- 웹동아리
- 멋사 면접
- 코딩동아리
- 백엔드
- 멋사 서류
- 멋사 10기
- 멋쟁이사자처럼
- 멋쟁이사자처럼대학
- API
- 멋쟁이사자처럼10기
- 멋사
- 멋쟁이 사자처럼
- 멋쟁이사자처럼 서류
- 멋쟁이사자처럼11기
- 멋사10기
- Today
- Total
목록프레임워크/Springboot (29)
ACHO.pk devlog
1. 장바구니 담기 상품 상세 페이지에서 장바구니에 담을 상품의 아이디와 수량을 전달 받을 클래스를 생성한다. 장바구니에 담을 상품의 최소 수량은 1개 이상으로 제한한다. dto > CartItemDto package com.shop.shop.dto; import lombok.Getter; import lombok.Setter; import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; @Getter @Setter public class CartItemDto { @NotNull(message = "상품 아이디는 필수 입력 값 입니다.") private Long itemId; @Min(value = 1, mess..
1. 주문 내역 조회하기 조회할 주문 데이터를 화면에 보낼 때 사용할 DTO 클래스를 만들어보자. dto > OrderItemDto package com.shop.shop.dto; import com.shop.shop.entity.OrderItem; import lombok.Getter; import lombok.Setter; @Getter @Setter public class OrderItemDto { public OrderItemDto(OrderItem orderItem, String imgUrl){ this.itemNm = orderItem.getItem().getItemNm(); this.count = orderItem.getCount(); this.orderPrice = orderItem.get..
1. 주문 기능 구현하기 고객이 상품을 주문하면 현재 상품의 재고에서 주문 수량만큼 재고를 감소시켜야한다. 고객이 주문을 했는데 실제 재고가 없다면 배송을 하지 못하고 결품 처리가 되기 때문에 주문 수량만큼 상품의 재고를 감소시켜야한다. 상품의 주문 수량보다 재고의 수가 적을 때 발생시킬 exxeption을 정의해보자. com.shop.shoop > exception패키지 생성 > OutOfStockException package com.shop.shop.exception; public class OutOfStockException extends RuntimeException{ public OutOfStockException(String message) { super(message); } } 상품을 주문..
현재 상품 관리 페이지로 가면 볼 수 있는 화면이다. 렌더링이 안되는 것 같은데 이유를 모르겠다. 1. 메인화면 search 버튼을 이용하여 상품명으로 검색이 가능하도록 구현해보자. Querydsl을 이용하여 상품 조회 시 결과 값을 받을 때 Item 객체로 반환값을 받았다면, 이번엔 @QueryProjection을 이용하여 상품 조회 시 DTO 객체로 결과 값을 받는 방법을 알아보자. @QueryProjection을 이용하면 item 객체로 값을 받은 후 DTO 클래스로 변환하는 과정 없이 바로 DTO 객체를 뽑아낼 수 있다. dto > MainItemDto package com.shop.shop.dto; import com.querydsl.core.annotations.QueryProjection; ..
1. 상품 관리하기 상품 관리 화면에서는 상품을 조회하는 조건을 설정 후 선택한 상품 상세 페이지로 이동할 수 있는 기능까지 구현해보자. 조회조건 상품 등록일 상품 판매 상태 상품명 또는 상품 등록자 아이디 1-1. Querydsl 이용 조회 조건이 복잡한 화면은 Querydsl을 이용해 조건에 맞는 쿼리를 동적으로 쉽게 생성할 수 있다. 비슷한 쿼리를 재활용할 수 있다는 장점을 이용해보자. Querydsl을 사용하기 위해서는 Qdomain을 생성해야 한다. Qdomain을 생성하기 위해서 메이븐의 컴파일 명령을 실행한다. 정상적으로 실행이 완료되면 지금까지 생성한 엔티티 클래스들이 Qdomain 클래스로 생성된 것을 볼 수 있다. 1-2. 상품 데이터 조회 시 상품 조회 조건 클래스 생성 dto > I..
1. 상품 수정하기 상품 정보를 볼 수 있는 상품 상세 페이지와 상품 데이터를 수정해보자. 상품을 등록한 다음 해당 상품 아이디를 이용해서 상품 수정 페이지에 진입한다. service > ItemService.java package com.shop.shop.service; import com.shop.shop.dto.ItemFormDto; import com.shop.shop.dto.ItemImgDto; import com.shop.shop.entity.Item; import com.shop.shop.entity.ItemImg; import com.shop.shop.repository.ItemImgRepository; import com.shop.shop.repository.ItemRepository; ..
1. 상품 등록하기 상품의 이미지를 저장하는 상품 이미지 엔티티를 만들어보자 상품 이미지 엔티티는 이미지 파일명, 원본 이미지 파일명, 이미지 조회 경로, 대표 이미지 여부를 갖도록 설계한다. item_img 엔티티에는 item_img_id, item_id, img_name, ori_img_name, img_url, rep_img_yn으로 설정해준다. entity > ItemImg package com.shop.shop.entity; import lombok.Getter; import lombok.Setter; import javax.persistence.*; @Entity @Table(name="item_img") @Getter @Setter public class ItemImg extends Base..
1. 연관 관계 매핑의 기초 엔티티들은 대부분 다른 엔티티와 연관 관계를 맺고 있다. JPA에서는 엔티티에 연관 관계를 매핑해두고 필요할 때 해당 엔티티와 연관된 엔티티를 사용하여 프로그래밍할 수 있도록 도와준다. 가. 연관 관계 매핑의 종류 일대일 매핑 (1:1) : @OneToOne 일대다 매핑 (1:N) : @OneToMany 다대일 매핑 (N:1) : @ManyToOne 다대다 매핑 (N:M) : @ManyToMany 나. 방향성 고려 테이블에서 관계는 항상 양방향이지만, 객체에서는 단방향과 양방향이 존재한다. 1-1. 일대일 단방향 매핑하기 장바구니(Cart) 엔티티를 만들고 회원 엔티티와 연관 관계 매핑을 설정해준다.Cart 에는 cart_id(PK)와 member_id가 존재한다. entit..