일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- linux
- db
- Oracle
- Gradle
- ReactJS
- IntelliJ
- JVM
- redis
- MySQL
- javascript
- Design Patterns
- springboot
- ubuntu
- devops
- tool
- Spring Batch
- it
- laravel
- jsp
- Git
- 요리
- php
- java
- Spring Boot
- 맛집
- Web Server
- jenkins
- AWS
- Spring
- elasticsearch
Archives
- Today
- Total
아무거나
yyyy-MM-dd 형태의 날짜 조회 방법 본문
반응형
[springboot] JPA + QueryDSL + Predicate 에서 yyyy-MM-dd 형태의 날짜 조회 방법
* 조회할 날짜의 변수명을 registerdTime이라고 하며, DB에는 TimeStamp형식으로 저장된다. ( entity에는 LocalDateTime 속성임 )
1. 파라미터값의 속성이 String인 registerdTime을 받아온다.(ex:yyyy-MM-dd 형식으로 받아오는걸로 가정)
2. 시작날짜와 끝 날짜를 구하는 공통 클래스를 만든다.
[LocalDateParser.java]
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import lombok.Getter;
@Getter
public class LocalDateParser {
private LocalDate searchDate;
public LocalDateParser(String currentDate) {
this.searchDate = LocalDate.parse(currentDate, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
}
// 해당날짜의 시작시간(ex:2018-06-15 00:00:00)
public LocalDateTime startDate() {
return this.searchDate.atStartOfDay();
}
// 해당날짜의 끝 시간(ex:2018-06-15 23:59:59)
public LocalDateTime endDate() {
return LocalDateTime.of(this.searchDate, LocalTime.of(23,59,59));
}
}
3. 쿼리빌더를 생성하는 부분에 해당 날짜로 조회할 내용 추가
[Predicate.java]
....
if (!Strings.isNullOrEmpty(param.getRegisterdTime())) {
LocalDateParser localDateParser = new LocalDateParser(param.getRegisterdTime());
builder.and(qTest.registerdTime.between(localDateParser.startDate(), localDateParser.endDate()));
} else {
// default : toDay >=
LocalDate currentDate = LocalDate.now();
builder.and(qTest.registerdTime.gt(currentDate.atStartOfDay()));
}
....
반응형
'Java & Kotlin > Java' 카테고리의 다른 글
[Design Pattern] Visitor Pattern (0) | 2020.01.01 |
---|---|
[Design Pattern] Decorator Pattern (0) | 2019.12.28 |
<![CDATA[ ]]> 사용 이유 (0) | 2019.12.24 |
[Design Pattern] Composite Pattern (0) | 2019.12.21 |
[Design Pattern] Bridge Pattern (0) | 2019.12.12 |
Comments