inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

데스나이트님의 게시글

데스나이트 데스나이트

@sejin

수강평 작성수
1
평균평점
5.0

게시글 13

질문&답변

Where 다중 파라미터 사용, Null 처리관련 질문입니다.

BooleanBuilder를 사용하면 간단하지 않을까요? @Test void dynamicQueryWhereParamAll() { String usernameParam = "member1"; Integer ageParam = 10; List result = searchMember3(usernameParam, ageParam); assertThat(result.size()).isEqualTo(1); } private List searchMember3(String usernameCond, Integer ageCond) { return query.selectFrom(member) .where(allEq(usernameCond, 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; } private BooleanBuilder allEq(String usernameCond, Integer ageCond) { BooleanBuilder builder = new BooleanBuilder(); return builder.and(usernameEq(usernameCond)).and(ageEq(ageCond)); }

좋아요수
0
댓글수
2
조회수
3144