
Spring web MVC 에서 게시판 페이징 처리하기
쿼리1. 리스트 개수 => total_count
쿼리2. 리스트 자체 갖고오기
쿼리3. 페이징을 위한 쿼리 => PageRequestDTO
=> 쿼리1+쿼리2+쿼리3을 한 번에 리턴하는 객체 정의 필요 (PageResponseDTO)
페이징 처리 git
myBatis에서 조건절 처리
<select id="bbsListByPage" resultType="org.fullstack4.springmvc.domain.BbsVO">
SELECT * FROM tbl_bbs
<where> <!-- select문에서 where절 부분 시작한다는 의미 -->
<foreach collection="search_type" item="type" open="(" close=")" separator=" OR ">
<!--
collection : 반복할 Iterator 개체
item : Iterator 개체를 반복할 때 현재 진행중인 개체
open : 반복 결과 각 절의 시작 지점에 추가할 문자
close : 반복 결과 각 절의 종료 지점에 추가할 문자
separator : 반복 결과 절이 다수일 경우 각 절 사이에 들어가는 구분 문자
이 때 반복 결과 절이 1개 밖에 없을 경우는 안들어감.!!
-->
<if test="type=='t'.toString()">
title LIKE CONCAT('%', #{search_word}, '%')
</if>
<if test="type=='u'.toString()">
user_id LIKE CONCAT('%', #{search_word}, '%')
</if>
</foreach>
</where>
ORDER BY idx DESC LIMIT #{page_skip_count}, #{page_size}
</select>
<!--
해당 내용이 sql로 실행 되면
SELECT * FROM tbl_bbs
WHERE (title LIKE CONCAT('%', #{search_word}, '%'))
OR (user_id LIKE CONCAT('%', #{search_word}, '%'))
ORDER BY idx DESC LIMIT #{page_skip_count}, #{page_size}
-->