앞글의 검색기능과 정말 비슷하게 하면 된다! 오예
jsp - 원래 이렇게 나눌 필요는 없지만 버튼을 따로 주고 싶었다. (다른 방법이 있을 것 같은데 다음에 꼭 수정해봐야지..ㅎㅎ..)
<th>
<form action="/board/Sort" method="get">
<input type="hidden" name="sort" value="1">
<input class="btn btn-link-dark" type="submit" value="조회수">
</form>
</th>
<th>
<form action="/board/Sort" method="get">
<input type="hidden" name="sort" value="2">
<input class="btn btn-link-dark" type="submit" value="추천수">
</form>
</th>
controller
@RequestMapping(value="Sort", method=RequestMethod.GET)
public String Sort(Model model,@RequestParam int sort) {
List<BoardDTO> bList = bs.sort(sort);
model.addAttribute("bList", bList);
return "/board/boardFindAll";
}
service -서비스에서 조건문을 줘야 코드가 확 줄어드는 듯? repository에서 줘도 되나?
@Override
public List<BoardDTO> sort(int sort) {
if(sort == 1) {
List<BoardDTO> bList = br.viewSort();
return bList;
}else {
List<BoardDTO> bList = br.likeSort();
return bList;
}
}
repository
public List<BoardDTO> viewSort() {
return sql.selectList("Board.viewSort");
}
public List<BoardDTO> likeSort() {
return sql.selectList("Board.likeSort");
}
mapper 아! 여기서 검색기능 처럼 했어도 됐나?
코드 줄이기가 어렵구만 역시
<select id="viewSort" resultType="board">
select * from board_table order by b_hits desc
</select>
<select id="likeSort" resultType="board">
select * from board_table order by like_count desc
</select>