반응형
jpa 메소드를 생성할 때 by 이하의 절에 where 조건에 추가할 변수명을 입력하여 사용한다.
and / or 조건 예제
// and, or 조건문
List<User> findByEmailAndName(String email, String name);
List<User> findByEmailOrName(String email, String name);
테스트 코드
System.out.println("findByEmailAndName: " + userRepository.findByEmailAndName("martin@fastcampus.com","martin"));
System.out.println("findByEmailOrName: " + userRepository.findByEmailOrName("martin@fastcampus.com","dennis"));
확인
특정 숫자 이상의 값을 구하는 예제
After, Before를 이용하여 값을 구할 수 있다.
List<User> findByCreatedAtAfter(LocalDateTime yesterday);
List<User> findByIdAfter(Long id);
테스트 코드
// 어제 날짜를 입력
// 어제 날짜 이후로 출력
System.out.println("findByCreatedAtAfter: " + userRepository.findByCreatedAtAfter(LocalDateTime.now().minusDays(1L)));
// ID가 4초과인 데이터 출력
System.out.println("ffindByIdAfter: " + userRepository.findByIdAfter((4L)));
Before와 After는 = 을 포함하지 않는다.
따라서 호환가능한 다른 키워드를 이용할 수 있다.
List<User> findByCreatedAtGreaterThan(LocalDateTime yesterday);
List<User> findByCreatedAtGreaterThanEqual(LocalDateTime yesterday);
테스트 코드
System.out.println("findByCreatedAtGreaterThan: " + userRepository.findByCreatedAtGreaterThan(LocalDateTime.now().minusDays(1L)));
System.out.println("findByCreatedAtGreaterThanEqual(: " + userRepository.findByCreatedAtGreaterThanEqual(LocalDateTime.now().minusDays(1L)));
equals를 포함한 데이터 출력 확인
특정범위 사이의 데이터를 출력하는 예제 (Between)
양 끝단의 데이터를 함께 출력한다.
List<User> findByCreatedAtBetween(LocalDateTime yesterday, LocalDateTime tomorrow);
List<User> findByIdBetween(Long id1, Long id2);
테스트 코드
// 어제와 오늘 사이의 데이터를 출력
System.out.println("findByCreatedAtBetween(: " + userRepository.findByCreatedAtBetween(LocalDateTime.now().minusDays(1L), LocalDateTime.now().plusDays(1L)));
// Id값이 1과 3 사이의 데이터 출력
System.out.println("findByIdBetween(: " + userRepository.findByIdBetween(1L, 3L));
위와 같은 결과 같을 가져오는 쿼리
List<User> findByIdGreaterThanEqualAndIdLessThanEqual(Long id1, Long id2);
테스트 코드 작성
// 위와 같은 결과 값을 출력하는 테스트 코드
System.out.println("findByIdGreaterThanEqualAndIdLessThanEqual: " + userRepository.findByIdGreaterThanEqualAndIdLessThanEqual(1L, 3L));
결과 확인
반응형
'Spring > JPA' 카테고리의 다른 글
Query Method 예제 - 4 (정렬) (0) | 2021.07.17 |
---|---|
Query Method 예제 - 3 (0) | 2021.07.17 |
Query Method 구현 1 (0) | 2021.07.17 |
JPA 메소드 예제 3 - update (0) | 2021.07.11 |
JPA TEST 코드 예제 2 (0) | 2021.07.11 |