[쿼리 메서드 사용]
public interface PostRepository extends JpaRepository<Post, Long> {
List<Post> findAllByCreateAtBetween(LocalDateTime start, LocalDateTime end);
}
JpaRepository에서 By(날짜 엔티티)Between문을 사용하여 정의할 수 있다.
public void test() {
LocalDateTime startDatetime = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.of(0,0,0));
LocalDateTime endDatetime = LocalDateTime.of(LocalDate.now(), LocalTime.of(23,59,59));
postRepository.findAllByViewAtBetween(startDatetime, endDatetime));
}
LocalDateTime.of를 사용하여 날짜 시작과 끝을 설정할 수 있다.
위에 startDateTime은 현재날짜 1일 전 0시 0분 0초를 설정한 것이다.
endDateTime은 현재날짜의 23시 59분 59초를 설정한 것이다. (24, 0, 0)을 설정 시 오류가 난다.
[@Query를 이용한 사용자 쿼리]
@Query("select p from Post p where p.createAt between :start and :end")
List<Post> getBestPost(LocalDateTime start, LocalDateTime end);
JpaRepository에서 between and문을 사용하여 정의할 수 있다.
public List<Post> test(){
LocalDateTime start = LocalDateTime.of(LocalDate.now().minusDays(1), LocalTime.of(0, 0, 0));
LocalDateTime end = LocalDateTime.now();
List<Post> bestPost = postRepository.getBestPost(start, end);
return bestPost;
}
'💻 Backend > 스프링' 카테고리의 다른 글
Spring boot JPA / ModelMapper, Entity -> DTO 변환 (0) | 2022.02.02 |
---|---|
Swagger UI 3.0 적용하여 편리하게 API 명세서 작성하기 (0) | 2022.01.29 |
SpringBoot JPA - @ManyToOne 사용하기 (0) | 2022.01.27 |
타임리프 / SpringEL 변수 표현식, 기본 객체들 - 스프링 MVC 2편 (0) | 2022.01.25 |
타임리프 - 텍스트 쓰는 방법 / Escape - 스프링 MVC 2편 (0) | 2022.01.25 |