日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hibernate3.4+struts1.3分页封装,有兴趣者可以看一下

發(fā)布時間:2025/3/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hibernate3.4+struts1.3分页封装,有兴趣者可以看一下 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

Hibernate3.4+struts1.3分頁的封裝
環(huán)境:hibernate3.4 +struts1.3 +jsp
Page.java
package com.nongxue.util;

public class Page {
private int totalPage;//總頁數(shù)
private int curPage;//當(dāng)前頁數(shù)
public static int maxResult = 2;//每頁的最大記錄條數(shù)
public Page(int toPage,int curPage){
this.setTotalPage(toPage);
this.setCurPage(curPage);
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
if(totalPage == 0){
this.totalPage = 1;
return;
}
this.totalPage = totalPage%maxResult == 0?totalPage/maxResult : totalPage/maxResult+1;
}
public int getCurPage() {
return curPage;
}
public void setCurPage(int curPage) {
this.curPage = curPage;
}
}
QueryResult.java
package com.nongxue.util;

import java.util.List;

public class QueryResult<T> {
private List<T> records;
private Page page;
public List<T> getRecords() {
return records;
}
public void setRecords(List<T> records) {
this.records = records;
}
public Page getPage() {
return page;
}
public void setPage(Page page) {
this.page = page;
}
}

查詢總記錄數(shù)的代碼
public int getArticleAccount(StringBuffer HQL)
{
Session session = new ComonUtil().getSession();
org.hibernate.Transaction tr? = session.beginTransaction();
int temp=0;
??????? try {
String Hquery = "from Article"+HQL;
Query query = session.createQuery(Hquery);
??? temp =query.list().size();
??? System.out.println("ddddddddddd"+temp);
??? tr.commit();
} catch (HibernateException e) {
tr.rollback();
e.printStackTrace();
} finally{
session.close();
}
??????? return temp;
}
分頁查詢代碼
public QueryResult<Article> getAllArticle(int page,StringBuffer HQL) {
List<Article> list = new ArrayList<Article>();
Session session =new? ComonUtil().getSession();
org.hibernate.Transaction tr = session.beginTransaction();
QueryResult<Article> queryResult = null;
try {
Page pae = new Page(this.getArticleAccount(HQL),page);
System.out.println("==hql=="+HQL);
String hquery="from Article"+HQL+"order by articleId desc";
System.out.println("=======HQL2======"+hquery);
Query query = session.createQuery(hquery);
query.setFirstResult(Page.maxResult*(page-1));
query.setMaxResults(Page.maxResult);
list = query.list();
queryResult = new QueryResult<Article>();
queryResult.setPage(pae);
queryResult.setRecords(list);
} catch (HibernateException e) {
tr.rollback();
e.printStackTrace();
}
return queryResult;
}
其中ComonUtil().getSession()調(diào)用的代碼是
public class ComonUtil {
???? //拿到session
public Session getSession()
{
Configuration cfg = new Configuration().configure();
SessionFactory sf = cfg.buildSessionFactory();
Session session = sf.openSession();
return session;
}
……

Action中調(diào)用
public ActionForward getAllArticleByPage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
String forwardName = null;
int page = 0;
try{
page = Integer.parseInt(request.getParameter("page"));
}catch(Exception e){
page = 1;
}
QueryResult<Article> articleList = null;

int stutus =0;
StringBuffer HQL = new StringBuffer();
//判斷是否有狀態(tài)值
try {
stutus = Integer.parseInt(request.getParameter("stutus"));
try {
Student student = (Student) request.getSession().getAttribute("student");
String sname = student.getStudentTrueName();
System.out.println("ddddddddddddd "+sname);
articleList = CommServce.getInstence().getAllArticle(page,HQL.append(" where articleUser='"+sname+"' "));
forwardName="allarticle";
} catch (Exception e) {
articleList = CommServce.getInstence().getAllArticle(page,HQL.append(" where stutus="+stutus+" "));
forwardName="articleList";
}
} catch (Exception e) {
Student student = (Student) request.getSession().getAttribute("student");
String sname = student.getStudentTrueName();
System.out.println("ddddddddddddd "+sname);
articleList = CommServce.getInstence().getAllArticle(page,HQL.append(" where articleUser='"+sname+"' "));
forwardName="allarticle";
}
request.setAttribute("article", articleList);
request.setAttribute("curPage", page);
return mapping.findForward(forwardName);
}
頁面jsp上的顯示
<center>
???? <a href="ArticleAction.do?comm=getAllArticleByPage&&page=1">首頁</a>
???? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
???? <c:if test="${curPage==1}">
?????????????? 上一頁
???? </c:if>
???? <c:if test="${curPage>1}">
?????? <a href="ArticleAction.do?comm=getAllArticleByPage&&page=${article.page.curPage-1}">上一頁</a>
???? </c:if>
???? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
???? <c:if test="${curPage==article.page.totalPage}">
????????????? 下一頁
???? </c:if>
???? <c:if test="${curPage<article.page.totalPage}">
?????? <a href="ArticleAction.do?comm=getAllArticleByPage&&page=${article.page.curPage+1}">下一頁</a>
???? </c:if>
???? &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
???? <a href="ArticleAction.do?comm=getAllArticleByPage&&page=${article.page.totalPage}">末頁</a>
???? &nbsp;&nbsp;共<font color="red">${article.page.totalPage}</font>頁
? </center>
這是一個非常通用 的分頁方法,各位可以進(jìn)行拓展,如果有不了解的地方也可以聯(lián)系我:QQ443628678

轉(zhuǎn)載于:https://my.oschina.net/lushuifa/blog/1545958

總結(jié)

以上是生活随笔為你收集整理的hibernate3.4+struts1.3分页封装,有兴趣者可以看一下的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。