Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

끄적끄적

[jpa] querydsl BooleanBuilder 사용하기 본문

개발

[jpa] querydsl BooleanBuilder 사용하기

으아아아앜 2020. 3. 9. 17:53

 

    @Override
    public long searchBoardCnt(BoardDTO.Search dto){
        BooleanBuilder builder = new BooleanBuilder();
        String keyword = dto.getKeyword();
        if (dto.isTitle()) {
            builder.or(boardDetail.title.contains(keyword));
        }
        if (dto.isContent()) {
            builder.or(boardDetail.content.contains(keyword));
        }
        if (dto.isNickname()) {
            builder.or(boardDetail.account.nickname.contains(keyword));
        }
        return queryFactory.selectFrom(boardDetail)
                .where(builder)
                .fetchCount();
    }

게시판 검색기능을 구현시 매우 유용

※ contains()는 title LIKE '%XXX%' 와 같은 기능이고, like()는 title='XXX' 이므로 혼동하지 않도록 주의

 

Comments