동적 쿼리
BooleanBuilder
@SpringBootTest
@Transactional
public class QuerydslBasicTest {
@Test
void dynamicQuery_BooleanBuilder() {
String usernameParam = "member1";
Integer ageParam = 10;
List<Member> result = searchMember1(usernameParam, ageParam);
Assertions.assertThat(result.size()).isEqualTo(1);
}
private List<Member> searchMember1(String usernameCondition, Integer ageCondition) {
BooleanBuilder builder = new BooleanBuilder();
// username에 값이 있으면 그 값으로 and 조건을 넣는다.
if (usernameCondition != null) {
builder.and(member.username.eq(usernameCondition));
}
// age에 값이 있으면 그 값으로 and 조건을 넣는다.
if (ageCondition != null) {
builder.and(member.age.eq(ageCondition));
}
return queryFactory
.selectFrom(member)
.where(builder)
.fetch();
}
}where 다중 파라미터
조합
Last updated