في الآونة الأخيرة ، تحتاج الشركة إلى القيام بوظيفة صفحة الإنذار ، والتي تتطلب ترقيم الصفحات. بعد التحقق من الكثير من المعلومات ، وجد أن Helper أكثر ملاءمة.
لذلك ، كتبت برنامجًا تعليميًا حول استخدام Helper بدءًا من الصفر ، وسجلت أيضًا ما كنت مشغولاً به ليوم واحد.
1. أولاً ، تحتاج إلى إضافة تبعية Helper في المشروع. هنا أضفته مع Maven.
<Rependency> <roupeD> com.github.pageHelper </rougiD> <ArtifactId> pagehelper </stifactid> <sophy> 4.1.6 </version> </sependency>
2. أضف تكوين Heelper في ملف تكوين MyBatis
<IGUNCET> <Ucplins> <!-com.github.pageHelper هو اسم الحزمة حيث توجد فئة HELPER-> <plugin interceptor = "com.github.pageHelper.pageHelper"> <!-يمكن تعيين هذه المعلمة دون تعيين في الإصدارات 4.0.0 --- رقم صفحة pagenum-> <!-التأثير هو نفسه pagenum في startPage-> <property name = "Offsetaspagenum" value = "true"/> <! pagesize = 0 أو rowbounds.limit = 0 ، سيتم الاستعلام عن جميع النتائج-> <!-(أي ما يعادل حقيقة عدم تنفيذ استعلام الصفحة ، ولكن النتيجة لا تزال نوع الصفحة)-> <property name = "pagesizezero" value = "true"/> <!-الإصدار 3.3 سيستفسر من الصفحة الأولى ، إذا كانت صفحات Pagenum> ستستفسر عن الصفحة الأخيرة-> <!-عندما يتم تعطيل الترشيد ، إذا كانت صفحات Pagenum <1 أو pagenum> ستُرجع صفحات الفراغ-> <اسم propert خريطة أو servletRequest-> <!-يمكنك تكوين pagenum ، pagesize ، العد ، pagesizezero ، معقولة ، orderby ، ولا تقوم بتكوين القيمة الافتراضية للتخطيط-> <!-إذا كنت لا تفهم هذا المعنى ، لا تقم بنسخ التكوين بشكل كاف-> <! معلمات واجهة mapper-> <property name = "supportMethodSarguments" value = "true"/> <!-دائمًا نوع pageinfo ، تحقق من ما إذا كان نوع الإرجاع هو pageInfo ، ولا يوجد شيء إرجاع-> <property name = "returnpageinfo" value = "check"
3. أضف فئة PageBean لتخزين المعلومات المليئة
الطبقة العامة PageBean <T> تنفذ Serializable {Private Static Final Long SerialVersionuid = 1L ؛ إجمالي خاص طويل ؛ // إجمالي عدد السجلات القائمة الخاصة <T> ؛ // مجموعة Private Int Pagenum ؛ // كم عدد الصفحات الخاصة بالصفحات الداخلية ؛ // عدد السجلات لكل صفحة صفحات int الخاصة ؛ // إجمالي عدد الصفحات الخاصة بحجم الباحث الخاص ؛ // num of page current <= pagesize publicbean (قائمة <T> قائمة) {if (list extryof page) {page <t> page = (page <t>) list ؛ this.pagenum = page.getPagenum () ؛ this.pagesize = page.getPagesize () ؛ this.total = page.getTotal () ؛ this.pages = page.getPages () ؛ this.list = page ؛ this.size = page.size () ؛ }} public long getTotal () {return total ؛ } public void settotal (total total) {this.total = total ؛ } القائمة العامة <T> getList () {return list ؛ } public void setlist (قائمة <T> قائمة) {this.list = list ؛ } public int getSize () {size return ؛ } public void setSize (int size) {this.size = size ؛ } public int getPagenum () {return pagenum ؛ } public void setPagenum (int pagenum) {this.pagenum = pagenum ؛ } public int getPagesize () {return pagesize ؛ } public void setPagesize (int pagesize) {this.pagesize = pagesize ؛ } public int getPages () {return pages ؛ } public void setPages (int pages) {this.pages = pages ؛ }}فيما يلي رمز منطق العمل
4. أولاً ، ابدأ من ملف mapper.xml ، وتشغيل قاعدة البيانات SQL ، واكتشف البيانات التي نحتاجها
<حدد ID = "SelectAlllist" parametertype = "com.alarm.bean.alarmparammodel" resultmap = "aravermap"
5. طريقة واجهة Mapper
القائمة العامة <AverAdparammodel> SelecallList (نموذج ARASHPARMOMDEL) ؛
6. طريقة واجهة الخدمة
DataGrid SelectAllList (نموذج الإنذار Pagenum ، int pagesize) ؛
7. فئة تنفيذ الخدمة
من المهم أن نلاحظ هنا هو المنطق الرئيسي للترقيم. يمثل Pagenum رقم الصفحة ، ويمثل Pagesize عدد الصفحات المعروضة ، طريقة StartPag هي الصفحة الأولية ، طريقة OrderBy هي فرز البيانات وفقًا لحقل معين ، هنا أستخدم ترتيب التنازلي لـ OCCR_TIME (DESC)
DataGrid SelectAlllist (نموذج الإنذار Pagenum ، int pagesize) {pagehelper.startPage (pagenum ، pagesize) ؛ pagehelper.orderby ("occur_time desc") ؛ قائمة <AverParammodel> list = this.alarmmgrmapper.SelectAllList (model) ؛ pageInfo <AverParammodel> pageInfo = new pageInfo <AverParammodel> (list) ؛ dataGrid dataGrid = dataGrid جديد (pageInfo.getTotal () ، pageInfo.getList ()) ؛ إرجاع DataGrid ؛ }8. لقد لاحظت أنني استخدمت فئة DataGrid هنا ، وهي فئة تستخدم لتمرير البيانات إلى مكتب الاستقبال ، بما في ذلك المجموع (المجموع) والصفوف (البيانات)
الفئة العامة DataGrid {Private Long Total ؛ صفوف قائمة خاصة = ArrayList New ArrayList <> () ؛ DataGrid () {super () ؛ } datagrid العامة (Total Total ، List Rows) {super () ؛ this.total = المجموع ؛ this.rows = الصفوف ؛ } public long getTotal () {return total ؛ } public void settotal (total total) {this.total = total ؛ } القائمة العامة getrows () {return rows ؛ } public void setRows (قائمة صفوف) {this.rows = rows ؛ }}9. ابدأ في كتابة طبقة وحدة التحكم واتصل بالطريقة التي كتبتها من قبل
تجدر الإشارة هنا إلى أن الإزاحة والحد هي أرقام الصفحات المرسلة من مكتب الاستقبال وعدد الصفحات المعروضة لكل صفحة. يختلف الإزاحة عن إزاحة وحدود bootstraptable ، ويمثل الإزاحة ، أي إذا تم عرض 10 قطع من البيانات لكل صفحة ، فإن الإزاحة التي تمثلها الصفحة الثانية في Bootstrap هي 10 ، والصفحة الأولى والصفحة الثالثة هي 0 و 20 على التوالي. ويشير إزاحة بلدي هنا إلى الوثنية.
requestmapping (value = "/eravinfo/list" ، method = {requestMethod.get ، requestMethod.post}) responsebody public datagrid datavinfo (modelparammodel model ، @requestParam (value = "Offset" ، defaultValue = "0" ، insive) integer pagenum ، requestparam (value = "limit" ، defaultValue = "10" ، مطلوب = false) integer pagesize) {dataGrid dataGrid = this.alarmmgrservice.selectalllist (model ، pagenum ، pagesize) ؛ إرجاع DataGrid ؛ }10. الآن يمكن لطلب مكتب الاستقبال الحصول على بيانات الواجهة الخلفية وربطه. سأقوم بنشر تكوين جدول BootStrap الخاص بمكتب الاستقبال.
$ ('#tb_departments'). bootstraptable ({url: 'http://10.1.234.134:8088/api/alarminfo/list' ، // request ured (*) meth يجب تعيين هذه الخاصية (*) تراجع: // ما إذا كان يجب عرض الترحيل (*) onlyinfopagination: صحيح ، //. SidePagination: "الخادم" ، // طريقة ترقيم العميل ، ترقيم العميل ، ترقيم خادم الخادم (*) Pagenumber: 1 ، // تهيئة الصفحة الأولى للتحميل ، Pagesize Pageize: 10 ، // عدد صفوف السجلات لكل صفحة (*) Pagelist: [10 ، 25 ، 50 ، لن أدخل الخادم ، لذلك أنا شخصياً أشعر أنه من الأهمية بمكان بالنسبة إلى strictsearch: صحيح ، عرضات العرض: false ، // هل يتم عرض جميع الأعمدة showRefresh: false ، // هل يعرض زر التحديث الحد الأدنى لم يتم تعيين السمة ، فإن الجدول يشعر تلقائيًا بارتفاع الجدول وفقًا لعدد السجلات ، فريدة من نوعها: "id" ، // التعرف الفريد لكل صف هو عمود عمود المفتاح الأساسي showtoggle: false ، // هل زر التبديل للحصول على عرض مفصل وقائمة عرض cardview: // PaginationDetailhalign: "يمين" ، لم أستخدم أزرار الترحيل التي تأتي مع bootstrap. كتبت مجموعة الأزرار بنفسي في JQ. في المقالة التالية ، سأقوم بنشر رمز الأزرار ، بحيث يمكن تخصيصه بدرجة أعلى ~ يمكنك أيضًا استخدام أزرار الترحيل مع النطاق الفرعي القابل للتمهيد وتغيير التكوين.
ما ورد أعلاه هو شرح مفصل لترقيم الصفحات الخاصة بك springmvc+mybatis+pagehelper المقدمة لك من قبل المحرر. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!