استيراد java.util.arrays ؛ استيراد java.util.collections ؛ استيراد java.util.list ؛ /*** Author shuang.gao التاريخ: 2016/1/28 الوقت: 12:26*/Public Class Pager <T> {/*** عدد الأحرف المعروضة لكل صفحة*/Private Int Pagesize ؛ / *** المجموعة الأصلية*/ قائمة خاصة <T> البيانات ؛ pager piger (قائمة <T> data ، int pagesize) {if (data == null || data.isempty ()) {رمي new alficalArgumentException ("يجب أن تكون البيانات فارغة!") ؛ } this.data = data ؛ this.pagesize = pagesize ؛ } / *** قم بإنشاء بيانات pager** param البيانات التي يجب أن تكون ترحيل* params pagesmurs عدد القطع المعروضة لكل صفحة* param <t> كائن الأعمال* @return* / public static <T> pager <t> إنشاء (قائمة <T> البيانات ، pagesize) } / *** احصل على البيانات paged** pagenum pagenum رقم* return بعد Paging* / list public <t> getPagedList (int pagenum) {int fromIndex = (pagenum - 1)* pagesize ؛ if (fromIndex> = data.size ()) {return collections.emptylist () ؛ } int toindex = pagenum * pagesize ؛ if (toindex> = data.size ()) {toindex = data.size () ؛ } return data.sublist (FromIndex ، toindex) ؛ } public int getPagesize () {return pagesize ؛ } القائمة العامة <T> getData () {return data ؛ } main static void main (string [] args) {integer [] array = {1 ، 2 ، 3 ، 4 ، 5 ، 6 ، 7 ، 8 ، 9 ، 10 ، 11 ، 12} ؛ قائمة <integer> list = arrays.aslist (Array) ؛ pager <integer> pager = pager.create (قائمة ، 10) ؛ قائمة <integer> page1 = pager.getPagedList (1) ؛ system.out.println (page1) ؛ قائمة <integer> page2 = pager.getPagedList (2) ؛ system.out.println (page2) ؛ قائمة <integer> page3 = pager.getPagedList (3) ؛ System.out.println (Page3) ؛ }} كما يوحي الاسم ، فإن ترقيم الصفحات الخاطئة لا يتم تصفية حقًا في قاعدة البيانات ، ولكن الحصول على جميع النتائج بعد الاستعلام عن قاعدة البيانات والقيام ببعض الحيل عند تقديمها.
استيراد java.util.arrays ؛
استيراد java.util.collections ؛
استيراد java.util.list ؛
/**
* Author Shuang.gao التاريخ: 2016/1/28 الوقت: 12:26
*/
PAGER من الطبقة العامة <T> {
/**
* عدد القطع المعروضة لكل صفحة
*/
pagesize pagesize ؛
/**
* المجموعة الأصلية
*/
قائمة خاصة <T> البيانات ؛
Piger Pager (قائمة <T> البيانات ، int pagesize) {
if (data == null || data.isempty ()) {
رمي New IncallAlargumentException ("يجب أن تكون البيانات فارغة!") ؛
}
this.data = البيانات ؛
this.pagesize = pagesize ؛
}
/**
* إنشاء جهاز ناشئ
*
* بيانات param التي تتطلب ترقيم الصفحات
* Param Pagesize عدد القطع المعروضة لكل صفحة
* param <t> كائن العمل
* آلة الترحيل العاشق
*/
ثابت عام <T> Pager <T> إنشاء (قائمة <T> البيانات ، int pagesize) {
إرجاع New Pager <> (البيانات ، pagesize) ؛
}
/**
* احصل على البيانات المليئة
*
* رقم صفحة PARAM PAGENUM
* نتائج ترقيم الصفحات
*/
القائمة العامة <T> getPagedList (int pagenum) {
int fromIndex = (pagenum - 1) * pagesize ؛
if (fromIndex> = data.size ()) {
Return Collections.EmptyList () ؛
}
int toindex = pagenum * pagesize ؛
if (toindex> = data.size ()) {
toindex = data.size () ؛
}
إرجاع البيانات.
}
الجمهور int getPagesize () {
إرجاع الصفحات
}
القائمة العامة <T> getData () {
إرجاع البيانات ؛
}
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
integer [] Array = {1 ، 2 ، 3 ، 4 ، 5 ، 6 ، 7 ، 8 ، 9 ، 10 ، 11 ، 12} ؛
قائمة <integer> list = arrays.aslist (Array) ؛
pager <integer> pager = pager.create (قائمة ، 10) ؛
قائمة <integer> page1 = pager.getPagedList (1) ؛
system.out.println (page1) ؛
قائمة <integer> page2 = pager.getPagedList (2) ؛
system.out.println (page2) ؛
قائمة <integer> page3 = pager.getPagedList (3) ؛
System.out.println (Page3) ؛
}
}
هذا هو النداء البسيط. المبدأ بسيط للغاية. يتم تمرير البيانات التي تم الاستعلام عنها من قاعدة البيانات إلى النداء والعائد عبارة عن مجموعة من الصفحات المقسمة.
الميزة هي أنها متوافقة مع جميع قواعد بيانات JDBC ، والعيوب هي أن هذه الطريقة ليست مناسبة لدفعات كبيرة من البيانات.
ما سبق هو كل شيء عن هذا المقال ، آمل أن يكون مفيدًا لتعلم الجميع.