今天學習了jdbc通過sql的limit實作資料分頁的效果,有點值得記錄的必要。 我用的是mysql資料庫,首先,建立一個produce的表,裡面有id,name,price,count,unit這幾個字段。在com.xsl.bean這個包裡面建立一個Produce的類和一個ProduceDao類 Produce裡面包含set,get方法。ProduceDao類包含資料庫連接配接的getConnection方法,List getList(int page)方法,通過sql的limit标記來擷取指定數量的資料庫資訊,然後通過list.add()方法存儲這些資訊并傳回list。 重點來了。主要操作類是com.xsl.servlet包下的servlet類。在get或者post方法中, int currentPage=1; if(request.getParameter("page")!=null){ currentPage=Integer.parseInt("request.getParameter("page")); } int pages; ProductDao pd=new ProductDao(); List list=new ArrayList(); StringBuffer sb=new StringBuffer(); list=pd.getList(currentPage); //productdao的getList(int page)方法,根據指定的頁面查找資料内容 request.setAttribute("list",list); int count=pd.getCount(); //productdao的getCount方法,查詢資料庫中所有的記錄數 if(count%pd.PAGE_SIZE==0){ //PAGE_SIZE為自己設定的數 表示每頁想顯示多少資料 pages=count/pd.PAGE_SIZE; } else{ pages=count/pd.PAGE_SIZE+1; } for(int i=1;i<=pages;i++){ if(i==currentPage){ sb.append("["+i+"]"); } else{ sb.append(" "+i+""); } sb.append(" "); } request.setAttribute("bar",sb.toString()); request.getRequestDispatcher("/result.jsp").forward(request,response);