티스토리 뷰
QueryDSL 문법들은 직관적이기 때문에 해석하기 쉬울 것이다. 그럼 한번 알아보자.
제목이 테스트인 게시글들 조회 쿼리
public List<Board> findByTitle_Querydsl() {
return query
.selectFrom(board)
.where(board.title.eq("테스트"))
.fetch();
}
- selectFrom : select와 from하는 엔티티가 같으면 selectFrom으로 합칠 수 있다.
- board.title.eq : 해석 그대로 게시글의 제목이 equals, 즉 테스트와 같다면 이다.
- fetch : 데이터가 없으면 빈 값을, 있다면 리스트 조회
제목으로 검색하는 쿼리
public List<Board> findByTitle_Querydsl(String title) {
return query
.selectFrom(board)
.where(board.title.contains(title))
.fetch();
}
- contains : like문법에서의 "%title%" 라고 생각하면 된다.
제목과 게시글의 작성자의 닉네임으로 검색하는 쿼리
public List<Board> findByTitle_Querydsl(String keyword) {
return query
.selectFrom(board)
.where(board.title.contains(keyword).or(board.writer.nickname.eq(keyword)))
.fetch();
}
- or : 또는 이다. 검색 키워드가 게시글의 제목 또는 게시글을 작성한 작성자의 닉네임으로 해석할 수 있다.
게시글의 제목은 짧을 수 도 있고 길 수 도 있다. 즉 게시글은 기억하기가 쉽지 않고 검색할 때 정확하게 쓰지 않아도 관련된 게시글들이 조회될 수 있게 검색한 키워드를 포함할 수 있도록 contains를 하였고, 작성자는 정확하게 검색하도록 하였다. 그럼 한번 실행해보자.
전체조회
제목이 와우를 포함한 게시글들 조회
닉네임이 nam인 작성자가 쓴 게시글들 조회
'SpringBoot' 카테고리의 다른 글
Refresh Token 개념과 동작 원리 정리 (0) | 2022.08.01 |
---|---|
디버깅 개념과 디버깅을 사용하여 문제해결하기 (0) | 2022.07.30 |
QueryDSL을 사용하기 위한 환경설정과 기본적인 사용방법 (0) | 2022.07.28 |
QueryDSL 개념과 코드 맛보기 (0) | 2022.07.27 |
Jar와 War 차이를 알아보자 (0) | 2022.07.27 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday