-
10. Querydsl Dynamic Query (동적쿼리)BackEnd/Querydsl 2021. 7. 29. 20:37반응형
1. BooleanBuilder
private List<Member> searchMember1(String usernameCond, Integer ageCond) {
BooleanBuilder builder = new BooleanBuilder();
if (usernameCond != null) {
builder.and(member.username.eq(usernameCond));
}if (ageCond != null) {
builder.and(member.age.eq(ageCond));
}
return queryFactory
.selectFrom(member)
.where(builder)
.fetch();
}2. Where 다중 파라미터
> where 조건에 null 값은 무시된다.
> 메서드를 다른 쿼리에서도 사용이 가능하다.
private List<Member> searchMember2(String usernameCond, Integer ageCond) {
return queryFactory
.selectFrom(member)
.where(usernameEq(usernameCond), ageEq(ageCond))
.fetch();
}
private BooleanExpression usernameEq(String usernameCond) {
return usernameCond != null ? member.username.eq(usernameCond) : null;
}
private BooleanExpression ageEq(Integer ageCond) {
return ageCond != null ? member.age.eq(ageCond) : null;
}반응형'BackEnd > Querydsl' 카테고리의 다른 글
12. Querydsl SQL function (0) 2021.07.29 11. Querydsl Update/Delete Bulk (0) 2021.07.29 09. Querydsl Distinct (0) 2021.07.29 08. Querydsl Projection (0) 2021.07.27 07. Querydsl 상수, 문자 더하기 (0) 2021.07.27