Search

Pagination

Pagination

λ§Žμ€ μ–‘μ˜ 데이터λ₯Ό ν•œ λ²ˆμ— λͺ¨λ‘ 보여주지 μ•Šκ³  μ—¬λŸ¬ νŽ˜μ΄μ§€λ‘œ λ‚˜λˆ μ„œ 좜λ ₯ν•˜λŠ” 기술
1.
Page 객체 μ •μ˜
2.
쿼리 적용
3.
νŽ˜μ΄μ§€λ„€μ΄μ…˜

Page 객체 μ •μ˜

νŽ˜μ΄μ§• 처리λ₯Ό μœ„ν•œ ν•„μˆ˜ κ°’, 그리고 μˆ˜μ‹μ„ μ •μ˜

ν•„μˆ˜κ°’

β€’
ν˜„μž¬ νŽ˜μ΄μ§€ 번호
β€’
νŽ˜μ΄μ§€ λ‹Ή 데이터 수
β€’
λ…ΈμΆœ νŽ˜μ΄μ§€ 수
β€’
데이터 수

μˆ˜μ‹

β€’
μ‹œμž‘ νŽ˜μ΄μ§€
β€’
끝 νŽ˜μ΄μ§€
β€’
첫 νŽ˜μ΄μ§€
β€’
λ§ˆμ§€λ§‰ νŽ˜μ΄μ§€
β€’
μ‹œμž‘ index

νŽ˜μ΄μ§€ λ‹¨μœ„λ‘œ 쿼리 적용

MySQL : LIMIT (μ‹œμž‘index, νŽ˜μ΄μ§€λ‹Ή 데이터 수)
νŽ˜μ΄μ§€ 번호 : 1
β€’
κ²Œμ‹œκΈ€ λͺ©λ‘μ—μ„œ 0번째 index λΆ€ν„° 10개의 λ°μ΄ν„°λ§Œ 쑰회
SELECT * FROM posts LIMIT (0, 10)
SQL
볡사
νŽ˜μ΄μ§€ 번호 : 5
β€’
κ²Œμ‹œκΈ€ λͺ©λ‘μ—μ„œ 40번째 index λΆ€ν„° 10개의 λ°μ΄ν„°λ§Œ 쑰회
SELECT * FROM posts LIMIT (40, 10)
SQL
볡사

데이터 λͺ©λ‘ λ·°

β€’
νŽ˜μ΄μ§€ λ‹¨μœ„ 데이터 λͺ©λ‘ 좜λ ₯
β€’
νŽ˜μ΄μ§€ 번호 λͺ©λ‘ 좜λ ₯

νŽ˜μ΄μ§• 처리 μˆ˜μ‹

β€’
ν˜„μž¬ νŽ˜μ΄μ§€ 번호 : page
β€’
νŽ˜μ΄μ§€λ‹Ή 데이터 수 : rows
β€’
λ…ΈμΆœ νŽ˜μ΄μ§€ 수 : count
β€’
데이터 수 : total
μ‹œμž‘ 번호 : ( (ν˜„μž¬ νŽ˜μ΄μ§€-1) / λ…ΈμΆœ νŽ˜μ΄μ§€ 수 ) * λ…ΈμΆœ νŽ˜μ΄μ§€ 수 + 1
start = ( (page-1) / count ) * count + 1
Java
볡사
끝 번호 : ( (ν˜„μž¬ νŽ˜μ΄μ§€-1) / λ…ΈμΆœ νŽ˜μ΄μ§€ 수 + 1) * λ…ΈμΆœ νŽ˜μ΄μ§€ 수
end = ( (page-1) / count + 1) * count
Java
볡사
첫 번호 : 1
first = 1
Java
볡사
λ§ˆμ§€λ§‰ 번호 : ( 데이터 개수 - 1) / νŽ˜μ΄μ§€λ‹Ή 데이터 수 + 1
last = ( total - 1) / rows + 1
Java
볡사

μ‹œμž‘ 번호 μ˜ˆμ‹œ

β€’
λ…ΈμΆœ νŽ˜μ΄μ§€ 수 : 10
β€’
ν˜„μž¬ 번호 : 15 μ‹œμž‘ 번호 : 11
β€’
ν˜„μž¬ 번호 : 37 μ‹œμž‘ 번호 : 31
β€’
ν˜„μž¬ 번호 : 123 μ‹œμž‘ 번호 : 121
β€’
λ…ΈμΆœ νŽ˜μ΄μ§€ 수 : 15
β€’
ν˜„μž¬ 번호 : 7 μ‹œμž‘ 번호 : 1
β€’
ν˜„μž¬ 번호 : 47 μ‹œμž‘ 번호 : 46 (1~15) (16~30) (31~45) (46~60)
β€’
ν˜„μž¬ 번호 : 155 μ‹œμž‘ 번호 : 151 (136~150) (151~165)

끝 번호 μ˜ˆμ‹œ

β€’
λ…ΈμΆœ νŽ˜μ΄μ§€ 수 : 10
β€’
ν˜„μž¬ 번호 : 15 끝 번호 : 20
β€’
ν˜„μž¬ 번호 : 37 끝 번호 : 40
β€’
ν˜„μž¬ 번호 : 123 끝 번호 : 130

λ§ˆμ§€λ§‰ 번호 μ˜ˆμ‹œ

β€’
νŽ˜μ΄μ§€ λ‹Ή κ²Œμ‹œκΈ€ 수 : 10
β€’
전체 데이터 수 : 1 λ§ˆμ§€λ§‰ 번호 : 1
β€’
전체 데이터 수 : 100 λ§ˆμ§€λ§‰ 번호 : 10
β€’
전체 데이터 수 : 253 λ§ˆμ§€λ§‰ 번호 : 26
β€’
전체 데이터 수 : 47 λ§ˆμ§€λ§‰ 번호 : 5