تصف هذه المقالة طريقة Struts2+Hibernate لتنفيذ ترحيل البيانات. شاركه للرجوع إليه ، على النحو التالي:
1. استخدم السبات لتنفيذ تكنولوجيا الترحيل:
/*** استخدم عبارة HQL لاستعلام الصفحة* Param HQL HQL عبارة تحتاج إلى استعلام* Param Offset INDEX First Record* pages pagesize عدد السجلات التي سيتم عرضها لكل صفحة* @RETURN جميع السجلات من الصفحة الحالية*/ @FINAL int QUERENGS ("uncheck" قائمة قائمة HibernateCallback كائنات قائمة = gethibernateMplate () .executefind (new hibernatecallback () {// طرق يجب تنفيذها في واجهة hibernatecallback الكائن العام doinhibernate (جلسة) heibernateException ، sqlexception {// execute quiate quere. .setfirstresult (الإزاحة). قائمة الإرجاع ؛} // احصل على العدد الإجمالي للسجلات العامة getrows (سلسلة HQL) {return gethibernatetemplate (). find (hql) .size () ؛}2. اتصل بـ Hibernate لتنفيذ تكنولوجيا الترحيل أثناء العمل والقفز إلى واجهة العرض:
// pagingsuppressWarnings ("Unchecked") السلسلة العامة paging () {String hql = "from deirl" ؛ // ترحيل جدول بيانات int pagesize = 3 ؛ // عدد السجلات المعروضة لكل صفحة int allRows = service.getRows (HQL) ؛ // Total Records int allpage = 0 ؛ // إجمالي الصفحات int intsset = getPage () + 1 ؛ // فهرس السجل الأول/*إذا (الصفوف ٪ حجم! = 0) {pagesize = الصفوف/ الحجم + 1 ؛ } آخر {pagesize = الصفوف / الحجم ؛ }* / allpage = (allRows - 1) / pagesize + 1 ؛ // حساب إجمالي عدد الصفحات قائمة <Revice> الدخل = service.findBypage (HQL ، (Offset-1)*pagesize ، pagesize) ؛ request.setAttribute ("allpage" ، allpage) ؛ request.setAttribute ("الإزاحة" ، الإزاحة) ؛ request.setAttribute ("الدخل" ، الدخل) ؛ إرجاع "الترحيل" ؛}3.Truts.xml التكوين:
<action name = "deter"> <!-تكوين صفحة العرض لمشاهدين منطقيين-> <result name = "error">/error.jsp </redress> <result name = "paging">/الدخل/الدخل.
4. عرض واجهة الدخل_ jsp
<٪@ page language = "java" pageencoding = "gbk" ٪> <٪@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt html 4.01 Transitional // en "> <head> <title> قائمة الإيرادات </title> <meta http-equiv =" pragma "content =" no-cache "> <meta http-equiv =" cache-control " content = "keyword1 ، keyword2 ، keyword3"> <meta http-equiv = "description" content = "this is my page"> <link rel = "stylesheet" type = "text/css" href = "../ images/styles.css・ الموقع الحالي: إدارة الإيرادات >> عرض الإيرادات </td> </tr> <tr> <td bgcolor = "#ffffff"> <br> <table align = "center" cellpadding = "1" 1 "cellpacing =" 1 "bgcolor ="#036500 "bordercolor =" nalign = "center"> رقم الدخل </td> <td align = "center"> التاريخ </td> <td align = "center"> طريقة </td> <td align = "center"> المبلغ </td> <td align = "center"> project </td> <td align = "center" <td align = "center"> ملاحظة </td> <td align = "center"> العملية </td> </tr> <s: iterator value = "#request.income"> <tr bgcolor = "#ffffff"> <td align = "center"> <s: property value = "id"/>/td> format = "yyyy-mm-dd"/> </td> <td align = "center"> <s: property value = "money"/> </td> <td align = "center"> <s: property value = "project"/> </td> <td align = "center"> <s: propert value = "personnel"/> </td> <td align = "center"> <s: property value = "remarks"/> </td> <td align = "center"> <s: propert $ {id}؟ ')) الموقع =' الدخل! del؟ id؟ id = $ {id} '"> حذف </a> <a href =" javaScript: if (تأكد (هل أنت متأكد أنك تريد تعديل $ {id}؟ <centre> هناك ما مجموعه $ {allpage} ، حاليًا صفحة $ {Offset} <a href = "الدخل! paging؟ page؟ size = "2" color = "red"> الصفحة السابقة </font> </a> <a href = "javaScript: if ($ {offset} <$ {allpage}) location = 'الدخل! paging؟ page = $ {page+1}'"> <font size = "2" href = "الدخل! paging؟ page = $ {allpage-1}"> <font size = "2" color = "blue"> الصفحة الأخيرة </font> </a> </td> </tr> </lood> </viv> </body>5. نتائج ترقيم الصفحات:
لا توفر هذه المقالة تطبيقات في قاعدة البيانات الأساسية ، ولكن طالما أنك تتقن مبدأ الترحيل ، أعتقد أن هذه ليست مشكلة كبيرة. بالنسبة لمبادئ الترحيل المحددة ، يرجى الرجوع إلى المقال السابق: "تحليل أمثلة تكنولوجيا ترحيل بيانات الإطار الإطار"
آمل أن يكون الوصف في هذه المقالة مفيدًا لبرمجة Java للجميع استنادًا إلى إطار السبات.