본문 바로가기

Spring47

[Spring Data JPA] 좋아요 구현하기 - 1 모델 만들기 우선 들어가기전에 board.js 에 수정해야 할 사항이 있다. board.js function getStoryItem(image) { . . . } function toggleLike(imageId) { let likeIcon = $(`#storyLikeIcon-${imageId}`); if (likeIcon.hasClass("far")) { likeIcon.addClass("fas"); likeIcon.addClass("active"); likeIcon.removeClass("far"); } else { likeIcon.removeClass("fas"); likeIcon.removeClass("active"); likeIcon.addClass("far"); } } js가 들어오는 데이터에 따라 다른 .. 2023. 1. 12.
[Spring Data JPA] 포토 게시판 페이지 구현하기 -3 JPA 페이징 처리 예제 페이징 처리하기 위해선 controller 단의 매개변수에 변화가 필요하다. ImageApiController @GetMapping("/api/image") public ResponseEntity imageStroy(@AuthenticationPrincipal PrincipalDetails principalDetails, @PageableDefault(size = 3)Pageable pageable) { Page images = imageService.이미지스토리(principalDetails.getUser().getId(),pageable); return new ResponseEntity(new CMRespDto(1,"성공",images), HttpStatus.OK); } } Pageable 의 imp.. 2023. 1. 12.
[Spring Data JPA] 포토 게시판 페이지 구현하기 - 2 포토리스트 띄우기 및 Ajax를 통한 뷰 렌더링 -1 에서 스칼라 쿼리로 만든 DB를 통해서 포토리스트를 띄울 예정이다. import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.pyo.yourspick.domain.user.User; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import javax.persistence.*; import java.time.LocalDateTime; @NoArgsConstructor @AllArgsConstructor @Builder @Data @Entity public class Image {.. 2023. 1. 12.
[Spring Data JPA] 포토 게시판 페이지 구현하기 - 1 DB 스칼라 쿼리 구현 포토리스트 api 만들기 로그인 했을 때 구독한 멤버들의 포토리스트가 나와야 하기 때문에, 현재 userId 가 3개가 있고 만약 2번유저로 로그인 했다고 가정하자. userId 정보가 1, 3 필요하다. SELECT * FROM image WHERE userId IN (1,3); 쿼리는 이렇게 될것이다 2번유저의 구독자 정보만 알고싶으면 SELECT toUserId FROM subscribe WHERE fromUserId = 2; 이런 쿼리가 된다. 우린 이걸 스칼라 서브쿼리로 사용할거다. 둘을 합쳐주자. SELECT * FROM image WHERE userId IN ( SELECT toUserId FROM subscribe WHERE fromUserId = 2); 쿼리 실행 결과 원하는 데이터가 나.. 2023. 1. 12.