게시판 제목, 내용을 검색하는 기능을 만들었다.
조건검색은 jsp에 name넣는거랑 쿼리문만 잘 짜면 쉽게 만들 수 있다.
communityFrm.jsp
검색 조건을 처리하려면 입력하는 곳에 name="keyword"를 넣어줘야한다.
<div class="MateSearch">
<form style="position:relative;" action="/mateSearch.do" method="post">
<div class="form-check" style="padding-left:0px;">
<img class="searchsty" src="/resources/img/icon/search1.png">
<p class="searchfs">조건검색</p>
</div>
<input type="text" class="form-control me-sm-2" name="keyword" placeholder="제목 또는 내용을 검색해주세요" style="width: 350px; margin-top: 5px;">
<input type="submit" id="Msearch" style="display: none;"></input>
<label for="Msearch">
<img src="/resources/img/icon/search2.png" class="searchIm">
</label>
</form>
</div>
BoardController
검색조건은 ArrayList로 Board정보 + 검색 조건까지 가져와야 하는데 쿼리문만 잘 짜면 된다!!!!!!
//게시판 검색
@RequestMapping(value="/mateSearch.do")
public String mateSearch(String keyword, Model model) {
ArrayList<Board> list = service.mateSearch(keyword);
model.addAttribute("list",list);
return "board/communityFrm";
}
BoardService
//게시판 검색
public ArrayList<Board> mateSearch(String keyword) {
ArrayList<Board> list = dao.mateSearch(keyword);
return list;
}
BoardDao
//게시판 검색
public ArrayList<Board> mateSearch(String keyword) {
List<Board> list = sqlSession.selectList("board.mateSearch",keyword);
return (ArrayList<Board>)list;
}
boardSQL.xml
<참고>
LIKE절이란? 특정 문자 또는 문자열을 포함하고 싶은 값을 검색할 때 사용한다.
% : 임의의 문자나 문자열, 또는 빈 문자열에 사용
_ : 임의의 문자 한개만 사용
SELECT * FROM [테이블명] WHERE [컬럼명] like %문자열%;
※ MYSQL은 대소문자를 구분하지 않으나, ORACLE은 대소문자 구문하니 주의!!!
<!-- 조건검색 -->
<select id="mateSearch" parameterType="String" resultType="b">
select
BOARD_NO as boardNo,
BOARD_WRITER as boardWriter,
BOARD_TITLE as boardTitle,
BOARD_CONTENT as boardContent,
READ_COUNT as readCount,
REG_DATE as regDate,
FILEPATH,
PROFILE_OPTION as profileOption,
STATUS,
(select member_filepath from member where member_id=board_writer)as fileImg
from board where (board_title like '%' || #{keyword} || '%' or board_content like '%' || #{keyword} || '%') order by regDate desc
</select>
반응형
'spring > 게시판 만들기' 카테고리의 다른 글
[spring] 스프링 게시판 checkbox 체크되었을 때 1, 안되었을 때 0 표현 (0) | 2022.02.20 |
---|---|
[spring] 게시판 이전화면/수정하기/삭제하기 (0) | 2022.02.19 |
[spring] 스프링게시판 페이징(paging) 처리 (0) | 2022.02.18 |
[spring/mybatis] 게시판 조회수 (0) | 2022.02.16 |
[spring/mybatis] 게시판 리스트 출력 (0) | 2022.02.15 |