분류 전체보기56 (6) 페이징 처리 메인 페이지에 보여줄 상품 페이징 구현에 대해 정리해보자 한다. Spring Data 의 Pageble 과 Page를 Querydsl과 함께 사용해보도록 하자. 요약하자면 SpringData에서 Pageable은 페이지 요청에 대한 데이터를 담을때 사용하는 인터페이스이다. 응답할때는 Page를 사용한다. where 절 을 통해 동적쿼리를 만든다. 검색 키워드를 담을 ItemSearchCondition(DTO), 반환되는 데이터를 담을 MainItemDto(DTO)를 만들었다. 사용자 정의 리포지토리를 만든다. 사용자 정의 인터페이스 구현 스프링 데이터 리포지토리에 사용자 정의 인터페이스 상속 먼저 리파지토리에 JPAQueryFactory를 등록한다. 생성자에서 직접 생성하여 주입해준다. public cl.. 2022. 8. 2. (5) domain, repository, service 계층별 설계 및 구현 repository 가 데이터를 접근하는 여러 방법들 service에서 repository.save(), repository.findAll() 등등 할 때, DTO로 접근하도록 한다. DTO에서 toEntity()로 변환하여, repository가 DB에 접근하도록 한다. saveItem 경우, Item item = itemFormDto.toEntity();으로 item 엔티티를 불러온다. service 메소드()에서 반환할 때, 엔티티를 노출하지 않도록 DTO로 반환한다. 서비스 로직 getItemDetail()은 ItemFormDto으로 반환하도록 한다. 파라미터로 DTO를 제공하여, dto.get...()로 꺼내도록 한다. saveItemImg(ItemInfo itemInfo, MultipartFi.. 2022. 8. 1. (3) 상품 등록 계층 설계 상품 등록 itemService saveItem : 회원정보, ItemDto, ItemImgDto를 파라미터로 받아 DB에 상품을 저장한다. 상품 상세 페이지 itemService getItemDetail : 상품ID로 상품 정보를 DTO로 불러온다. 2022. 8. 1. (4) 상품 등록 구현 - 이미지 업로드 스프링은 MultipartFile 이라는 인터페이스로 멀티파트 파일을 매우 편리하게 지원한다. Multipart로 넘어온 파일을 파일정보DTO로 반환해서 상품 이미지를 저장해보자. 이미지 업로드 FileService를 통해 파일정보(이미지 경로, 이미지 이름, 저장된 이미지 파일명, 대표 이미지 여부)를 DTO로 반환한다. ItemImgService를 통해 DTO를 Entity로 반환해 ItemImg를 얻는다. DB에 이미지 엔티티를 저장한다. application.properties 설정 file.dir=C:/newThing/chimm/ 원하는 파일저장경로를 설정해주면 된다. @Value("${file.dir}")로 불러다가 사용한다. FileService : Multipart를 파일정보 DTO로 반환.. 2022. 8. 1. 이전 1 ··· 7 8 9 10 11 12 13 14 다음