hibernate mysql分页_求struts+hibernate实现mysql分页的详细代码
展開全部
分頁不難 我分3段代碼給你(dao 分頁輔助業務類 Struts的Action 這寫做完以后JSP里就可以隨e69da5e887aa62616964757a686964616f31333236383537意使用了) 對于樓主沒寫過分頁 要看的比較仔細 注釋我也的不多 都是根據自己的思路寫的
分頁輔助類
-----------------------------
package biz;
/**
* 分頁輔助類
* @author Administrator
*
*/
public class paghelp {
private int rows;//數據庫總記錄數
private int pagsize;//頁大小
private int currNO;//當前頁
private int nextNO;//下一頁
private int refNO;//上一頁
private int pagcount;//總共有多少頁
//計算出下一頁第一條紀錄在數據庫中的行標
public int getrow()
{
return (currNO-1)*pagsize;
}
public void Enum(int rows,int pagsize)
{
this.rows=rows;
this.pagsize=pagsize;
this.Calepagecount();
}
//構造 把數據庫的總紀錄數 和 要一頁顯示多少條紀錄 傳來
/*public paghelp(int rows,int pagsize)
{
this.rows=rows;
this.pagsize=pagsize;
this.Calepagecount();
}*/
/*public static void main(String[] args)
{
paghelp p=new paghelp();
p.jisuan(15, 5);
p.setCurrNO(2);
System.out.println(p.getPagcount());
System.out.println(p.getNextNO());
System.out.println(p.getRows());
}*/
//計算總共有多少頁
public void Calepagecount()
{
if(rows % pagsize ==0)
{
this.pagcount=rows / pagsize;
}else
{
this.pagcount=rows / pagsize +1;
}
}
public int getRows() {
return rows;
}
public void setRows(int rows) {
this.rows = rows;
}
public int getPagsize() {
return pagsize;
}
public void setPagsize(int pagsize) {
this.pagsize = pagsize;
}
public int getCurrNO() {
return currNO;
}
//設置當前頁
public void setCurrNO(int currNO) {
if(currNO > this.pagcount)
{
this.currNO=this.pagcount;
}else if( currNO < 1 )
{
this.currNO = 1;
}else
{
this.currNO=currNO;
}
}
//設置下一頁
public int getNextNO() {
if(currNO + 1 >this.pagcount)
{
nextNO = this.pagcount;
}else
{
nextNO = currNO + 1;
}
return nextNO;
}
//設置上一頁
public int getRefNO() {
if(currNO -1 <1)
{
refNO =1;
}else
{
refNO=currNO -1;
}
return refNO;
}
public paghelp()
{
}
//返回總頁數
public int getPagcount() {
return pagcount;
}
public void settPagcount(int pagcount) {
this.pagcount=pagcount;
}
}
dao
-------------------------
/**
* 分頁提取數據庫寵物信息(測試信息)
* @param start 參數start 從數據庫的哪個下標開始取(分頁輔助類已經算好)
* @param size 參數size 每次取多少個(可以是常量)
* @return list寵物集合
*/
public List getAllPetMes(int start , int size)
{
List pets=null;
super.openSession();
query=session.createQuery("from PetInfo p order by(p.petStrength+p.petCute+p.petLove) desc");
query.setFirstResult(start);
query.setMaxResults(size);
pets=query.list();
super.closeSession();
return pets;
}
Struts的Action
------------------------------
package web;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import biz.paghelp;
import dao.PetDiaryDao;
import dao.PetinfoDao;
import entity.PetDiary;
import entity.PetInfo;
public class btnSelectAction extends DispatchAction {
PetinfoDao petinfodao=new PetinfoDao();
PetDiaryDao petdiarydao=new PetDiaryDao();
private static final int SIZE =5;//分頁大小
paghelp p=new paghelp();
/**
* 按鈕查詢
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward petSelect(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
btnForm btnform=(btnForm)form;
List pets=null;
//查詢全部
if(btnform.getPetName().length()==0&&btnform.getPetType().equals("-1")
&&btnform.getPetOwnerName().length()==0)
{
//把數據庫的總紀錄數 和 頁大小 放到分頁輔助類
p.Enum(petinfodao.petCount(),SIZE);
//取出當前頁碼 默認1 放到分頁輔助類對象中
p.setCurrNO(btnform.getPagnum());
pets=petinfodao.getAllPetMes(p.getrow(),p.getPagsize());
request.setAttribute("pets", pets);
request.setAttribute("p", p);
}else
{
PetInfo pet=new PetInfo();
pet.setPetName(btnform.getPetName());//寵物名
pet.setPetType(Integer.parseInt(btnform.getPetType()));//寵物類型
pet.setPetOwnerName(btnform.getPetOwnerName());//寵物主人名
pets=petinfodao.muchSelectPet(pet);
p.Enum(pets.size(),SIZE);
//取出當前頁碼 默認1 放到分頁輔助類對象中
p.setCurrNO(btnform.getPagnum());
pets=petinfodao.muchSelectPet(pet,p.getrow(),SIZE);
request.setAttribute("pets", pets);
request.setAttribute("p", p);
}
return mapping.findForward("pet_list");
}
本回答由提問者推薦
已贊過
已踩過<
你對這個回答的評價是?
評論
收起
總結
以上是生活随笔為你收集整理的hibernate mysql分页_求struts+hibernate实现mysql分页的详细代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 曝一加11新版本要来了!之前因为工艺太难
- 下一篇: mysql查看表内容 很乱_mysql常