[Spring Boot + JPA + MySQL] 검색기능

Junseo Kim·2020년 3월 3일
1
post-custom-banner

검색기능

메인에서 검색하기를 누르면 게시글 목록 중에 검색글자가 포함된 게시글 목록만 출력되도록 구현해보겠다.

검색하기를 누르면 '/board/search' 요청이 들어온다. 'keyword'라는 이름으로 값을 넘겨준다.

Controller

@RequestParam 으로 요청으로 들어온 값 중 'keyword'로 넘어온 값을 받아서 해당 키워드가 포함된 리스트를 넘겨주는 searchPosts를 사용하고 model을 통해 view에 값을 넘겨준다.

searchPosts는 Service에서 구현해준다.

Service

repository를 이용하여 title에 keyword 값이 포함된 데이터만 가져온다. findByTitleContaining은 repository에 선언해줘야한다.

BoardDto에 데이터를 매핑하여 리턴해준다.

Repository

JpaRepository에서는 By 뒷 부분은 SQL의 where 조건 절에 해당된다. 따라서, Containing을 붙여주면 Like 검색이 된다.

실행 결과

여러 게시글을 넣어두고 가나다로 검색해보면,

keyword로 가나다가 넘어오고, 가나다가 포함된 데이터만 보여짐을 볼 수 있다.

reference: https://victorydntmd.tistory.com/333

post-custom-banner

0개의 댓글