본문 바로가기

Spring47

[Spring Data JPA] 구독하기 구현하기 -5 구독 정보 모달 Ajax 연동하기 , javascript를 통한 동적인 뷰 렌더링 구독정보 누를시 띄워지는 모달에 데이터를 받아오고자 한다. profile.jsp 게시물${dto.imageCount} 구독정보${dto.subscribeCount} 클릭 시 모달을 띄워주는 자바스크립트에 id값을 넣어서 보낸다. function subscribeInfoModalOpen(pageUserId) { $(".modal-subscribe").css("display", "flex"); } 이렇게 함수의 인자로 받아주고 function subscribeInfoModalOpen(pageUserId) { $(".modal-subscribe").css("display", "flex"); $.ajax({ type:"get", url:`/api/user/${pageUserId}/subscribe`, dataT.. 2023. 1. 11.
[Spring Data JPA] 구독하기 구현하기 -4 구독리스트 구현, JPQL 사용한 Native Query ★ 우선 들어가기전에 그동안 사용해왔던 방법인 네이티브 쿼리 방식은 이번에 사용되지않는다. 그러한 이유는 우리가 새로 짠 스칼라쿼리에서 동일 유저인지 판단 쿼리에서 select ~ if ~ if 문의 리턴값은 Repository가 받아들이는 리턴값인 JparRepository 의 subscribe인데 쿼리의 리턴값은 subscribe가 아니여서 네이티브 쿼리를 사용할 수 없다. 그렇기 떄문에 이번에는 service 에서 직접 네이티브쿼리를 짤것이다. JPQL(Java Persistence Query Language) 사용 - 테이블이 아닌 엔티티 객체를 대상으로 검색하는 객체지향 쿼리 - SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않음 - JPA는 JPQL을 분석한 후 적절한 SQL을 만들어.. 2023. 1. 11.
[Spring Data JPA] 구독하기 구현하기 - 3 구독정보 모달 구현, Mysql 스칼라 서브쿼리 만들기 1번이 로그인해서 2번의 구독정보를 보고있다고 가정하자, 조건 1. 구독 정보를 클릭 시 2번 유저를 구독한 상황인 다른 유저들이 나와야 한다. 2. 로그인한 1번유저가 만약 제 3자인 3번유저가 구독되어있는 상황이라면 구독취소 버튼이, 아니라면 구독하기 버튼이 나와야한다. 3. 1번유저가 3번유저 구독정보를 눌렀는데 본인인 1번유저도 나오면 안된다. 그렇다면 필요한건 이 여러가지의 데이터를 옮길 DTO와 DB쿼리가 필요하다. profile.jsp 게시물${dto.imageCount} 구독정보${dto.subscribeCount} . . . . . . 구독정보 ssar 구독취소 구독정보를 클릭하면 javascript를 통해 modal이 오픈된다. profile.js function subscribeInf.. 2023. 1. 11.
[Spring Data JPA] 구독하기 구현하기 - 2 Ajax 연결하기 Profile.jsp 사진등록 구독취소 구독하기 이전에 c:choose 했었던 구독버튼 온클릭 이벤트에 ${dto.user.id} , 함수를 바로 불러오는 this를 추가 SusbcribeApiController @RequiredArgsConstructor @RestController public class SubscribeApiController { private final SubscribeService subscribeService; @PostMapping("/api/subscribe/{toUserId}") public ResponseEntity subscribe(@AuthenticationPrincipal PrincipalDetails principalDetails , @PathVariable in.. 2023. 1. 11.