[스프링 부트 쇼핑몰 프로젝트 with JPA] 8-1. [상품 관리] 상품 목록 조회 Querydsl
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. Qdomain 생성 Querydsl을 사용하기 위해서 Qdomain 생성 dependencies 부분 추가 build.gradle - [other] - [compileQuerydsl] 2. 상품 조회 조건 DTO 상품 조회 조건 상품 등록일 상품 판매 상태 상품명 또는 상품 등록자 아이디 상품 조회 조건을 담을 ItemSearchDto 클래스 생성 import kr.spring.item.constant.ItemSellStatus; import lombok.Getter; import lombok.Setter; import lombok.ToString; @Getter @Setter @ToString public class ..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 7. 상품 수정
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. 상품 조회 상품을 수정하려면 해당 상품을 불러와야 함 따라서, ItemService 에 상품 조회 메소드 추가 (조회 기능이므로 읽기 전용으로 불러옴) item 엔티티와 img 정보 엔티티를 itemFormDto 객체로 변환 후 반환하는 조회 기능 // 아이템 수정 public ItemFormDto getItemDetail(Long itemId) { List itemImgList = itemImgRepository.findByItemIdOrderByIdAsc(itemId); List itemImgDtoList = new ArrayList(); for (ItemImg itemImg : itemImgList) { ItemI..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 6-2. [상품 등록] Controller, Service, Repository
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. application.properties 설정 추가 파일 크기 및 경로 지정 (경로는 프로젝트 외부 디렉토리에 저장함) ########################## # 파일 업/다운로드 설정 ########################## # 파일 한 개당 최대 사이즈 spring.servlet.multipart.max-file-size=20MB # 요청 당 최대 파일 크기 spring.servlet.multipart.max-request-size=100MB # 상품 이미지 업로드 경로 itemImgLocation=D:/shop/item # 리소스 업로드 경로 uploadPath=file:///D:/shop/ 2. ..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 6-1. [상품 등록] Entity, DTO, View
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. 상품 이미지 Entity Item (상품) Entity 와 다대일 단방향 관계를 갖는 ItemImg Entity 생성 package kr.spring.item.entity; import jakarta.persistence.*; import kr.spring.utils.entity.BaseEntity; import lombok.*; @Entity @Getter @Setter // 필수 아님 @ToString // 문자열 자동 생성 @NoArgsConstructor // 빈생성자 생성 public class ItemImg extends BaseEntity { @Id //기본키 설정 @GeneratedValue(strateg..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 5. Entity 공통 속성 공통화(Auditing)
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. Auditing 엔티티에 공통으로 들어가는 멤버변수들(등록시간, 수정시간, 등록자, 수정자 등등)을 추상클래스로 만들고, 해당 추상 클래스를 상속받아 엔티티에 공통적인 기능을 수행하도록 하며 엔티티의 생성과 수정을 감시하는 기법 2. Auditing 필요성 여러 엔티티에 공통된 멤버변수가 존재할 때 하나의 추상클래스로 통합하여 구현할 수 있음 등록시간, 수정시간, 등록자, 수정자 등등의 엔티티 상태 변경에 대한 정보를 기록할 수 있음 기록을 바탕으로 버그 문의, 업데이트 변경 대상 조회 등등 여러 상황에서 사용됨 3. AuditorAware AuditorAwareImpl.java 로그인한 사용자를 등록자 및 수정자로 지..
[스프링 부트 쇼핑몰 프로젝트 with JPA] 4. 페이지 권한 설정
·
Web & Android/스프링 부트 쇼핑몰 프로젝트 with JPA
이 내용은 스프링 부트 쇼핑몰 프로젝트 with JPA 책을 학습한 내용입니다. 1. 상품 등록 페이지 (미완성) ADMIN (관리자) 계정만 접근할 수 있는 상품 등록 페이지 상품등록 페이지입니다. 상품등록 페이지입니다. 2. 상품 등록 페이지 접근 Controller 상품 등록 페이지에 접근하는 Controller @Controller @RequiredArgsConstructor // @Autowired로도 쓸 수 있음 public class ItemController { // 웹 페이지로 이동 @GetMapping("/admin/item/new") public String itemForm() { return "item/itemForm"; } 3. AuthenticationEntryPoint Auth..