일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 게시판만들기
- 이것이 취업을 위한 코딩 테스트다 with 파이썬
- thymeleaf-layout-dialect
- HTML공부
- 모델 훈련
- customized yolov5
- YOLOv5
- combobox
- 데이터셋 직접
- 방만들기
- 정처기 실기
- 글 검색
- css
- 직접 라벨링
- 컴활1급필기
- 정렬알고리즘
- 객체 감지
- labelImg
- isDisable
- springboot
- 게시판
- React
- 조회수 증가
- 욕심쟁이 알고리즘
- 정처기
- 드라이브 마운트
- object detection
- 스프링부트
- html
- 데이터셋
- Today
- Total
기록장
스프링부트 게시판 만들기 (13) - 검색 기능 만들기 본문
게시판에는 꼭 있어야 하는 검색 기능도 만들어보자.
내가 설계한 검색 기능은
1. 글 내용으로 검색 (해당 키워드가 내용에 포함되어 있는 경우)
2. 글 제목으로 검색 (해당 키워드가 제목에 포함되어 있는 경우)
3. 작성자로 검색 (키워드와 작성자가 일치하는 경우)
이렇다.
검색을 하면 일치하는 글들만 목록 페이지에 뜨도록 만들 것이다.
1. 검색 form 만들기
선택 옵션으로 (제목, 내용, 작성자)를 넣고 옆에는 키워드를 입력할 수 있는 input창을 만들었다. 검색 버튼도 만들었다.
버튼을 누르면 getSearchList()함수를 실행한다
2. 검색 리스트를 불러오는 ajax 요청 만들기
select option과 keyword를 서버 url로 보내면 검색된 글들을 받는 ajax 요청을 만들었다. (board.js)
먼저 페이지의 테이블을 초기화하고 결과물만 테이블에 추가한다.
function getSearchList(){
$.ajax({
type: 'GET',
url : "/getSearchList",
data : $("form[name=search-form]").serialize(),
success : function(result){
//테이블 초기화
$('#boardtable > tbody').empty();
if(result.length>=1){
result.forEach(function(item){
str='<tr>'
str += "<td>"+item.idx+"</td>";
str+="<td>"+item.writer+"</td>";
str+="<td><a href = '/board/detail?idx=" + item.idx + "'>" + item.title + "</a></td>";
str+="<td>"+item.date+"</td>";
str+="<td>"+item.hit+"</td>";
str+="</tr>"
$('#boardtable').append(str);
})
}
}
})
}
3. dto 수정 (글 검색을 위한 dto attribute를 추가한다)
어떤 유형으로 검색하는 지 저장하는 type과 검색 내용인 keyword를 추가해야한다.
4. controller와 ajax 서버 mapping
파라미터로 type과 keyword를 받아서 dto에 set하고 service 함수를 호출한다.
5. service단, dao단 만들기
- service
- dao
6. 쿼리문 생성
type을 선택하지 않고 검색 버튼을 눌렀을 땐 delete_yn='N'인 글들을 출력한다(원래 글 목록 페이지 기능과 동일)
type이 title일 땐 title에 keyword가 포함된 데이터를 보여준다.
type이 content일 땐 content에 keyword가 포함된 데이터를 보여준다.
type이 writer일 땐 keyword가 writer와 일치하는 데이터를 보여준다.
7. 실제 검색해보기
검색이 잘 되는 것을 확인할 수 있다 :)
완성 ~~~
'인턴 기록 > 게시판?블로그?만들기' 카테고리의 다른 글
스프링부트 게시판 만들기 (12) - 글 수정 기능 만들기 (0) | 2021.05.03 |
---|---|
스프링부트 게시판 만들기 (11) - 댓글 기능 만들기 (0) | 2021.04.29 |
스프링부트 게시판 만들기 (9) - 글 삭제 기능 구현 中 비밀번호 체크 로직 (0) | 2021.04.28 |
스프링부트 게시판 만들기 (10) - 글 삭제 기능 구현 中 실제 삭제 로직 (0) | 2021.04.27 |
스프링부트 게시판 만들기 (8) - 조회수 증가 기능 추가 (0) | 2021.04.27 |