นำเข้า Java.util.Arrays; นำเข้า Java.util.Collections; นำเข้า java.util.list; /*** @author shuang.gao วันที่: 2016/1/28 เวลา: 12:26*/PAGER คลาสสาธารณะ <T> {/*** จำนวนอักขระที่แสดงต่อหน้า*/หน้า int ส่วนตัว; / *** คอลเลกชันดั้งเดิม*/ รายการส่วนตัว <T> ข้อมูล; Private Pager (รายการ <t> ข้อมูล, หน้า int) {ถ้า (data == null || data.isempty ()) {โยน unlegalargumentException ใหม่ ("ข้อมูลต้องไม่ว่าง!"); } this.data = ข้อมูล; this.pageize = pageSize; } / *** สร้างเพจเจอร์** @param ข้อมูลข้อมูลที่ต้องเพจเพจ* @param หน้าจำนวนชิ้นที่แสดงต่อหน้า* @param <t> วัตถุธุรกิจ* @return Pager* / สาธารณะคงที่ <T> Pager <t> สร้าง (รายการ <t> ข้อมูล } / *** รับข้อมูลที่เป็นหน้าเว็บ** @param pagenum หมายเลขหน้า* @return ผลลัพธ์หลังจากเพจ* / รายการสาธารณะ <t> getPagedList (int pagenum) {int fromIndex = (pagenum - 1)* หน้า; if (fromIndex> = data.size ()) {return collections.empylist (); } int toindex = pagenum * pagesize; if (toindex> = data.size ()) {toindex = data.size (); } ส่งคืน data.sublist (FromIndex, Toindex); } public int getPagesize () {กลับ pageSize; } รายการสาธารณะ <t> getData () {ส่งคืนข้อมูล; } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {จำนวนเต็ม [] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; รายการ <จำนวนเต็ม> list = array.aslist (อาร์เรย์); Pager <Integer> Pager = Pager.create (รายการ, 10); รายการ <จำนวนเต็ม> page1 = pager.getPagedList (1); System.out.println (หน้า 1); รายการ <จำนวนเต็ม> page2 = pager.getPagedList (2); System.out.println (หน้า 2); รายการ <จำนวนเต็ม> page3 = pager.getPagedList (3); System.out.println (หน้า 3); - ตามชื่อที่แนะนำว่าการปนเปื้อนเท็จไม่ได้กรองในฐานข้อมูล แต่ได้รับผลลัพธ์ทั้งหมดหลังจากสอบถามฐานข้อมูลและทำกลอุบายบางอย่างเมื่อนำเสนอ
นำเข้า Java.util.Arrays;
นำเข้า Java.util.Collections;
นำเข้า java.util.list;
-
* @author shuang.gao วันที่: 2016/1/28 เวลา: 12:26
-
เพจเจอร์ระดับสาธารณะ <T> {
-
* จำนวนชิ้นที่แสดงต่อหน้า
-
หน้า int ส่วนตัว;
-
* คอลเลกชันดั้งเดิม
-
รายการส่วนตัว <T> ข้อมูล;
Private Pager (รายการ <t> ข้อมูล, หน้า int) {
if (data == null || data.isempty ()) {
โยน unlegalargumentException ใหม่ ("ข้อมูลจะต้องไม่ว่างเปล่า!");
-
this.data = ข้อมูล;
this.pageize = pageSize;
-
-
* สร้างเพจเจอร์
-
* ข้อมูล @param ที่ต้องมีการปนเปื้อน
* @param pagesize จำนวนชิ้นที่แสดงต่อหน้า
* @param <t> วัตถุธุรกิจ
* @return Paging Machine
-
สาธารณะคงที่ <T> Pager <T> สร้าง (รายการ <t> ข้อมูล, หน้า int) {
ส่งคืนเพจเจอร์ใหม่ <> (ข้อมูลหน้า);
-
-
* รับข้อมูลที่เพจ
-
* @param pagenum หมายเลขหน้า
* @return pagination ผล
-
รายการสาธารณะ <t> getPagedList (int pagenum) {
int fromIndex = (pagenum - 1) * pagesize;
if (FromIndex> = data.size ()) {
collection returns.empylist ();
-
int toindex = pagenum * pagesize;
if (toindex> = data.size ()) {
toindex = data.size ();
-
ส่งคืน data.sublist (FromIndex, Toindex);
-
สาธารณะ int getPagesize () {
กลับมาหน้า;
-
รายการสาธารณะ <t> getData () {
ส่งคืนข้อมูล
-
โมฆะคงที่สาธารณะหลัก (สตริง [] args) {
จำนวนเต็ม [] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
รายการ <จำนวนเต็ม> list = array.aslist (อาร์เรย์);
Pager <Integer> Pager = Pager.create (รายการ, 10);
รายการ <จำนวนเต็ม> page1 = pager.getPagedList (1);
System.out.println (หน้า 1);
รายการ <จำนวนเต็ม> page2 = pager.getPagedList (2);
System.out.println (หน้า 2);
รายการ <จำนวนเต็ม> page3 = pager.getPagedList (3);
System.out.println (หน้า 3);
-
-
นี่คือเพจเจอร์ที่เรียบง่าย หลักการนั้นง่ายมาก ข้อมูลที่สอบถามจากฐานข้อมูลจะถูกส่งผ่านไปยังเพจเจอร์และการส่งคืนเป็นชุดของหน้าแบ่ง
ข้อได้เปรียบคือมันเข้ากันได้กับฐานข้อมูล JDBC ทั้งหมดข้อเสียคือวิธีนี้ไม่เหมาะสำหรับชุดข้อมูลขนาดใหญ่
ข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้ฉันหวังว่ามันจะเป็นประโยชน์กับการเรียนรู้ของทุกคน