스프링(입문) 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 |