検索機能の追加


投稿全体を表示するときに、作成者/タイトルを入力し、ajaxを使用してコンテンツを表示します.(クリック率/推奨率のソートも差が少なくていいのでしょうか?)
jsp bodyで
<form class="row g-3 container text-center" style="margin-top: 100px;" action="/board/search" method="get">
<div class="col-auto" >
<select class="form-select" style="width:100px;height:40px; display:inline;" name="searchtype">
<option value="b_title">제목</option>
<option value="m_id">작성자</option>
</select>
</div>

<div class="col-auto">
<input class="form-control"  type="text" name="keyword">
</div>

<div class="col-auto">
<input class="form-control"  type="submit" value="검색">
</div>
</form>

controller
@RequestMapping(value="search", method=RequestMethod.GET)
	public String search(@RequestParam("searchtype") String searchtype,
			@RequestParam("keyword") String keyword, Model model) {
		List<BoardDTO> bList = bs.search(searchtype, keyword);
		model.addAttribute("bList", bList);
		
		return "/board/boardFindAll";
	}
ServiceImpl-検索タイプとキーワードの2つの値を含む
@Override
	public List<BoardDTO> search(String searchtype, String keyword) {
		Map<String, String> searchParam = new HashMap<String, String>();
		searchParam.put("type", searchtype);
		searchParam.put("word", keyword);
		List<BoardDTO> bList = br.search(searchParam);
		return bList;
	}
repository
public List<BoardDTO> search(Map<String, String> searchParam) {
		return sql.selectList("Board.search", searchParam);
	}
mapperでlike演算子(%ワイルドカード)を使用する場合はconcatを貼り付ける必要があります!
<select id="search" parameterType="java.util.HashMap" resultType="board">
		select * from board_table
		<include refid="sear"></include>
	</select>

	<sql id="sear">
		<choose>
			<when test="type=='b_title'">
				where b_title like concat ('%', #{word}, '%')
			</when>

			<when test="type=='m_id'">
				where m_id like concat ('%', #{word}, '%')
			</when>
		</choose>
	</sql>
マッパーは初めて見たので、理解が遅いです.
はい、順番に並べて、クリック率で並べて、私のものになったようです.