[TIL] 240422

Geehyun(장지현)·2024년 4월 22일

TIL

목록 보기
66/70
post-thumbnail

Today

  • 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}
    -->

Review

  • 페이징 처리 분석 필요!!!!
profile
블로그 이전 했습니다. 아래 블로그 아이콘(🏠) 눌러서 놀러오세요

0개의 댓글