개발자 일지/TIL

스파르타 내일배움캠프 38일차 231110

이건버그야 2023. 11. 14. 02:28

오늘 공부한 내용

  • Spring 입문주차 2주차 시청 
  • 코딩테스트 문제풀기

어려웠던 내용

1. Query Methods

 

 

새로 알게된점

1. Query Methods

- JPA의 Repository 인터페이스에서 지원되며, 메소드 이름을 분석하여 쿼리를 자동으로 생성함.

데이터베이스에 있는 자료에서 데이터를 순차적 정렬을 하거나 원하는 정보 데이터만 찾고 싶을때 Repository 에서 메서드 이름으로 쿼리를 생성하여 사용한다.

public interface MemoRepository extends JpaRepository<Memo, Long> {
    List<Memo> findAllByOrderByModifiedAtDesc();
    List<Memo> findAllByContentsContainsOrderByModifiedAtDesc(String keyword);
}

위에 예시의 코드 의미는 List<Memo> 안에 들어있는 자료중 find...By로 조회를 select한후 안에All 넣어 모든 범위를 대상으로 한다 이후 OrderBy는 순서정렬에 대한 내용이며 ModifiedAt이라는 필드데이터를 의미, Desc는 내림차순을 말한다.

즉 ModifiedAt이라는 필드데이터를 기준으로  정렬(OrderBy) 해서 전체데이터를 내보낼건데(findAllBy) 이를 내림차순(Desc)으로 할것입니다.

 

밑에 추가 예시는 꼭 자료전체 뿐아니라 뒤에 keyword를 넣어서 특정 단어가 들어가 있는 데이터를 찾게 하도록 하는 것도 가능하다.

 

오늘의 느낀점

하나의 프로젝트를 완성하기 위해서 적용해야 할 기술이 정말 많은거 같다.

간단하면서 편리하게 사용하기 위해 만든 기술이지만 이해를 못하면 오히려 더 어렵게 느껴지고 헷갈려 구분이 안가게 된다.

이번에도 한가지 기능을 이해하기위해서 부수적인 것을 찾으면서 적용하다보면 점점 더 알아야 할게 많아지다보니 JPA를 공부하면서 정말 공부해야할 것이 많다는것을 새삼 깨닫게 됬다.