슬기로운슬기
article thumbnail

스프링(입문) 2주차 강의 숙제를 하는데 쉬운 숙제였지만 나는 강의를 이해를 많이 못해서 그런지 뭔가 너무 어렵게 느껴졌음.. 

그래서 Query Method 이름을 정하는것도 헷갈렸고 전체적으로 머릿속에 내용이 정돈이 안된 느낌이 강했다.

 

<숙제 설명>

<MemoController.java> 

    @GetMapping ("/memos/contents")
    public List<MemoResponseDto> getMemosByKeyword(String keyword) {
        return memoService.getMemosByKeyword(keyword);
    }

- 특정 키워드 조회 : HTTP 메서드 GET

 

 

<MemoRepository.java>

List<Memo> findAllByContentsContainsOrderByModifiedAtDesc(String keyword);

- Query Methods 사용 : Spring Data JPA에서는 메서드 이름으로 SQL을 생성할 수 있는 Query Methos 기능을 제공 

- 수정시간을 기준으로 keyword를 포함하고 있는 데이터를 내림차순으로 가져오는 SQL을 실행하는 메서드를 생성함 

 

 

 

<MemoService.java>

    public List<MemoResponseDto> getMemosByKeyword(String keyword) {
        return memoRepository.findAllByContentsContainsOrderByModifiedAtDesc(keyword).stream().map(MemoResponseDto::new).toList();
    }

- getMemosByKeyword 메서드 작성 

- memoRepository라는 객체를 사용하여 데이터베이스에서 메모를 조회 

- findAllByContentsContainsOrderByModifiedAtDesc(keyword) 메소드 호출 

- 'stream()' 메서드를 사용하여 메모 리스트를 스트림으로 변환

- 'map' 함수를 사용하여 MemoResponseDto 객체로 변환 

- 'toList()' 메서드 호출하여 스트림을 리스트로 변환하여 반환 

 

반응형

'study > study_spring' 카테고리의 다른 글

[TIL] 좋아요 기능 구현 (Java)  (0) 2023.07.12
[TIL] 게시물 조회 메서드 (+댓글)  (0) 2023.07.11
[TIL] 회원가입 구현  (0) 2023.06.26
[TIL] @Builder  (0) 2023.06.22
[TIL] IntelliJ IDEA에서 Gradle을 인식 못했을 때  (0) 2023.06.21
profile

슬기로운슬기

@스를기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!