<select id="pagingList" resultType="java.util.Map">
SELECT * FROM(
select row_number() over(order by idx ASC)rn, idx, test1_varchar, test2_int,
date, Fullname, message from tb_zespri_test) as a
<if test="pageNo > 0">
where rn between ((${pageNo}*${pageSize})-(${pageSize}-1)) and (${pageNo}*${pageSize})
</if>
</select>
MSSQL은 MYSQL과 달리 DB에서 지정해주는 index가 없기 때문에
row_number를 사용해야 한다
row_number() over(order by idx ASC)rn, idx, text1_varchar~
임의로 index를 생성한 테이블을 불러온뒤 select *로 모든 항목을 불러와야 한다
row_number() over(order by idx ASC)rn - 페이징할 범위를 와 정렬을 정해주는 컬럼이 임의로 생성이 된다
해당 컬럼 명은 rn으로 이 또한 임의로 지정해 준 것이다
<if> 태그에서 출력할 리스트(갯수)를 지정해 주면 된다
pageNo - 페이지 번호( 1페이지, 2페이지...)
pageSize - 한 페이지당 보여주고 싶은 리스트 개수 (게시판일 경우 페이지당 보여주고 싶은 글 개수)
'Programing > 기타' 카테고리의 다른 글
주석의 정의와 종류 (0) | 2022.12.05 |
---|---|
페이징 - AJAX (2) (0) | 2021.07.16 |
페이징 - AJAX (1) (0) | 2021.07.13 |
Spring - Tiles (0) | 2021.07.09 |