1. 오늘 배운 내용
QueryDSL 기초적인 문법과 중급 문법을 배웟습니다.
기본적인 활용법은 sql과 비슷합니다.
장점은 자바 코드라서, 오류가 나면, 컴파일 과정에서 확인이 가능하다.
중급 문법 중에서 가장 의미 있는 것은 동적 쿼리 booleanBuilder 사용법입니다.
/**
* 4.5 동적 쿼리 - Where 다중 파라미터 사용
*/
@Test
public void dynamicQuery_WhereParam() {
String usernameParam = "member1";
Integer ageParam = null;
List<Member> result = searchMember2(usernameParam, ageParam);
assertThat(result.size()).isEqualTo(1);
System.out.println("result = " + result);
}
private List<Member> searchMember2(String usernameCond, Integer ageCond) {
return queryFactory
.selectFrom(member)
.where(usernameEq(usernameCond), ageEq(ageCond))
.fetch();
}
private Predicate usernameEq(String usernameCond) {
return usernameCond != null ? member.username.eq(usernameCond) : null;
}
private Predicate ageEq(Integer ageCond) {
return ageCond != null ? member.age.eq(ageCond) : null;
}
'TIL(Today I Learned)' 카테고리의 다른 글
TLI 58일 (23. 8. 3. 수) OAuth2 인증를 위한 복습 (0) | 2023.08.02 |
---|---|
TLI 57일 (23. 8. 1. 화) QueryDSL 실제 활용 (0) | 2023.08.01 |
TLI 55일 (23. 7. 28. 금) (0) | 2023.07.28 |
TLI 54일 (23. 7. 27. 목) (0) | 2023.07.27 |
TLI 53일 (23. 7. 26. 수) (0) | 2023.07.26 |
댓글