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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

在jsp中对mysql数据库分页的方法

發布時間:2025/3/12 数据库 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在jsp中对mysql数据库分页的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

針對分頁,首先開發一個 PageBean 用來控制頁面參數:

Java代碼??
  • package?com.longweir;??
  • ??
  • //分頁后的javaBean??
  • ??
  • import?java.sql.*;??
  • import?com.longweir.util.*;??
  • ??
  • public?class?PageBean?{??
  • ????private?int?pageSize=5;??//?每頁顯示的記錄數5個??
  • ????private?int?currentPage=1;????//?當前頁碼??
  • ????private?int?pageCount=1;??????//?總頁數??
  • ????private?int?totalCount=0;?????//?總記錄數???
  • ??
  • ????//?計算總頁數??
  • ????public?void?setPageCount()??
  • ????{??
  • ????????this.pageCount=(this.totalCount-1)/this.pageSize+1;??
  • ????}??
  • ??????
  • ????//獲取總頁數??
  • ????public?int?getPagecount()??
  • ????{??
  • ????????return?this.pageCount;??
  • ????}??
  • ??
  • ??????
  • ????//設置并修正當前頁碼,??
  • ????public?void?setCurrentPage(int?currentpage)?{??
  • ????????//校驗當前頁碼??
  • ????????if?(currentPage>this.pageCount)??
  • ????????????this.currentPage=this.pageCount;??
  • ??????????
  • ????????else?if?(currentPage<1)??
  • ????????????this.currentPage=1;??
  • ????????else???
  • ????????????this.currentPage=currentpage;??
  • ????}??
  • ??????
  • ????//獲取當前頁碼??
  • ????public?int?getCurrentPage()?{??
  • ????????return?this.currentPage;??
  • ????}??
  • ??????
  • ????//獲取全部記錄數??
  • ????public?int?getTotalCount()??
  • ????{??
  • ????????return?this.totalCount;??
  • ????}??
  • ??????
  • ????//設置總共記錄數??
  • ????public?void?setTotalCount(int?totalcount)??
  • ????{??
  • ????????this.totalCount?=totalcount;??
  • ??????????
  • ????????//設置總共記錄數后,同時需要校正計算總頁數??
  • ????????this.pageCount=(this.totalCount-1)/this.pageSize+1;??
  • ????}?????
  • ??
  • ????public?int?getPageSize()?{??
  • ????????return?pageSize;??
  • ????}??
  • ??
  • ????public?void?setPageSize(int?pageSize)?{??
  • ????????this.pageSize?=?pageSize;??
  • ??????????
  • ????????//設置每頁顯示的記錄個數后?同時需要校正計算后的總頁數??
  • ?????????this.pageCount=(this.totalCount-1)/this.pageSize+1;??
  • ????}??
  • ??????????
  • }??
  • ?

    ?

    okay,然后我們開發一個接口 SpiltPage,接口中共有兩個方法。

    Java代碼??
  • package?com.longweir;??
  • ??
  • //任何業務邏輯類只要實現了該接口?就可以進行數據的分頁顯示??
  • ??
  • import?java.util.*;??
  • import?com.longweir.*;??
  • ??
  • public?interface?SpiltPage?{???????
  • ????//根據分頁對象中的參數?來分頁獲取數據??
  • ????public?Collection?getPageData(PageBean?pagebean)?throws?Exception;???
  • ??????
  • ????//獲取所有的記錄個數??
  • ????public?int?getAvailableCount()?throws?Exception;??
  • ??
  • }??
  • ?

    ?

    這樣以來,主要的關于分頁的方法就完成了,我們開發一個針對數據庫表操作的業務邏輯類 ProductUtil,來實現上述接口

    ?下面這個類用來操作product表的數據,將分頁或所有數據:

    Java代碼??
  • package?com.longweir;??
  • ??
  • /*?
  • ?*?此類包含所有的產品信息的操作業務邏輯?
  • ?*?*/??
  • ??
  • import?java.io.*;??
  • import?java.sql.*;??
  • import?java.util.*;??
  • import?com.longweir.SpiltPage;??
  • import?com.longweir.bean.ProductInfoVOBean;??
  • import?com.longweir.util.DatabaseConnection;??
  • ??
  • public?class?ProductUtil?implements?SpiltPage?{??
  • ????private?Connection?conn;??
  • ??????
  • ????//重寫無參構造方法來獲取數據庫連接??
  • ????public?ProductUtil()??
  • ????{??
  • ????????this.conn=DatabaseConnection.getConnection();??//獲取數據庫連接對象??
  • ????}??
  • ??????
  • ??????
  • ?????????????//實現接口中的方法?來分頁獲取數據顯示??
  • ????public?Collection?getPageData(PageBean?pagebean)?throws?Exception??
  • ????{??
  • ????????Statement?stmt=null;??
  • ????????ResultSet?rs=null;??
  • ????????Collection?ret=new?ArrayList();???????
  • ????????if?(conn.isClosed())??conn=DatabaseConnection.getConnection();??
  • ????????String?sqlstr="select?*?from?productInfo?order?by?productid?limit?"+(pagebean.getCurrentPage()-1)*pagebean.getPageSize()+","+pagebean.getPageSize();??
  • ????????try??
  • ????????{??
  • ????????????stmt=conn.createStatement();??
  • ????????????rs=stmt.executeQuery(sqlstr);??
  • ????????????while?(rs.next())??
  • ????????????{??
  • ????????????????????ProductInfoVOBean?productInfo=new?ProductInfoVOBean();??
  • ????????????????????productInfo.setCategoryid(rs.getString("catid"));??
  • ????????????????????productInfo.setProductname(rs.getString("productName"));??
  • ????????????????????productInfo.setProductid(rs.getString("productid"));??
  • ????????????????????productInfo.setPublishment(rs.getString("publishment"));??
  • ????????????????????productInfo.setPrice(rs.getFloat("price"));??
  • ????????????????????productInfo.setDescription(rs.getString("descn"));??
  • ????????????????????ret.add(productInfo);?????
  • ????????????}?????
  • ????????????stmt.close();??
  • ????????????rs.close();??
  • ????????????conn.close();??
  • ????????}??
  • ????????catch?(Exception?e)??
  • ????????{??
  • ????????????e.printStackTrace();??
  • ????????}?????????????
  • ????????return?ret;??
  • ????}??
  • ??????
  • ????//實現接口方法?獲取記錄的總共個數??
  • ??????
  • ????public?int?getAvailableCount()??
  • ????{??
  • ????????Statement?stmt=null;??
  • ????????ResultSet?rs=null;??
  • ????????int?counter=0;????????
  • ????????try{??
  • ????????????if?(conn.isClosed())?conn=DatabaseConnection.getConnection();??
  • ??????????????
  • ????????????stmt=conn.createStatement();??
  • ????????????rs=stmt.executeQuery("select?count(*)?from?productInfo");??
  • ????????????while?(rs.next())??
  • ????????????{??
  • ????????????????counter=rs.getInt(1);??
  • ????????????}??
  • ????????????stmt.close();??
  • ????????????rs.close();??
  • ????????????conn.close();??
  • ????????}??
  • ????????catch?(Exception?e){}??
  • ????????return?counter;???????
  • ??????????
  • ????}??
  • ??????????
  • ?

    分頁的關鍵技術就是mysql中的這條分頁查詢語句:

    "select * from productInfo order by productid limit "+(pagebean.getCurrentPage()-1)*pagebean.getPageSize()+","+pagebean.getPageSize();

    ?

    開發一個viewProduct.jsp的頁面,來分頁顯示數據:

    Html代碼??
  • <%@?page?contentType="text/html;charset=GBK"%>??
  • <%@?page?import="java.util.*"?%>??
  • <%@?page?import="java.io.*"?%>??
  • <%@?page?import="com.longweir.bean.*"?%>??
  • ??
  • <jsp:useBean?id="product"?class="com.longweir.ProductUtil"?scope="session"?/>??
  • <jsp:useBean?id="pagebean"?class="com.longweir.PageBean"?scope="session"?/>??
  • ??
  • <html>??
  • ??<head>??
  • ????<title>查看所有的產品的信息</title>??????
  • ????<link?rel="stylesheet"?type="text/css"?href="css/style.css">??
  • ??</head>??
  • ????
  • ??<body>??
  • ??<h3?align="center">查看所有的產品信息</h3>???
  • ??<table?width="960"?align="center"?border="0"?cellpadding="2"?cellspacing="1"?bgcolor="#999999">??
  • ????<tr?bgcolor="#EFEEED">??
  • ????????<td?width="100">商品編號</td>??
  • ????????<td?width="100">類別</td>??
  • ????????<td?width="200">名稱</td>??
  • ????????<td?width="100">出版商</td>??
  • ????????<td?width="80">售價</td>??
  • ????????<td?width="200">描述</td>???
  • ????????<td?colspan="2"?width="100"?align="center">管理</td>????????
  • ????</tr>??
  • ??<%???
  • ????String?temppage=request.getParameter("page");??
  • ????int?pno=1;??
  • ??????
  • ????if?(temppage!=null?&&?!("").equals(temppage))??
  • ????{??
  • ????????try??
  • ????????{??
  • ???????????pno=Integer.parseInt(temppage);??//獲取提交的頁面編號??
  • ????????}??
  • ????????catch?(Exception?e)??
  • ????????{???
  • ???????????pno=1;???//有異常?則直接跳轉到首條??
  • ????????}??
  • ????}????
  • ???//每次刷新頁面時都應當重新獲得表中的記錄數,因為翻頁過程中表的記錄可能隨時都會更新???
  • ?????pagebean.setTotalCount(product.getAvailableCount());???????
  • ?????pagebean.setCurrentPage(pno);??
  • ??%>??
  • ??????
  • ??<%???
  • ?????Collection?productproducts=product.getPageData(pagebean);??//分頁顯示??
  • ?????Iterator?it=products.iterator();??
  • ?????while?(it.hasNext())??
  • ?????{??
  • ?????????ProductInfoVOBean?temp=(ProductInfoVOBean)it.next();??
  • ?????????out.println("<tr??bgcolor=\"#FFFFFF\">");??
  • ?????????out.println("<td>"+temp.getProductid()+"</td>");??
  • ?????????out.println("<td>"+temp.getCategoryid()+"</td>");??
  • ?????????out.println("<td>"+temp.getProductname()+"</td>");??
  • ?????????out.println("<td>"+temp.getPublishment()+"</td>");??
  • ?????????out.println("<td>"+temp.getPrice()+"</td>");??
  • ?????????out.println("<td>"+temp.getDescription()+"</td>");??
  • ?????????out.println("<td?algin=\"center\">"+"<a?href=#>修改</a>"+"</td>");??
  • ?????????out.println("<td?align=\"center\">"+"<a?href=\"/product/servlet/DeleteProductServlet?productid="+temp.getProductid()+"\">刪除</a</td>");??
  • ?????????out.println("</tr>");???????????
  • ?????}???
  • ??%>??
  • ??</table>??
  • ????
  • ??<table?width="960"?align="center"?border="0"?cellpadding="1"?cellspacing="2">??
  • ????<tr>??
  • ????????<td></td>??
  • ????<tr>??
  • ????<tr>??
  • ??????<td?align="right">??
  • ????????共<%=pagebean.getPagecount()%>頁??
  • ????????<%??
  • ???????????for?(int?i=1;i<=pagebean.getPagecount();i++)??
  • ???????????????out.println("<a?href=/product/viewProduct.jsp?page="+i+">"+i+"</a>");??
  • ????????%>??????
  • ??????</td>??
  • ??</tr>??
  • ??</table>??
  • ??</body>??
  • </html>??
  • ?

    ?

    jsp中有很多java代碼,可以考慮使用標簽代替現實 呵呵。

    ?

    分頁的效果如下啦:

    ?

    總結

    以上是生活随笔為你收集整理的在jsp中对mysql数据库分页的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美做爰猛烈床戏大尺度 | 亚洲欧美国产精品专区久久 | 亚洲国产黄 | 国产视频一区二区 | 在线播放无码后入内射少妇 | 在线观看无码精品 | 国产精品永久久久久久久久久 | 国产无码精品在线播放 | av综合色 | 东京热加勒比无码少妇 | 国产精品久久综合视频 | 少妇的激情 | 欧美成人极品 | 稀缺小u女呦精品呦 | 国产精品美女自拍视频 | 日日噜 | 在线免费观看h片 | aise爱色av| 国产日韩欧美一区 | 嫩草视频在线播放 | 操极品少妇 | 国产91精品久久久久久久网曝门 | 九九热只有精品 | 欧美 日韩 国产 在线观看 | av中文资源网 | 天天操夜夜欢 | 国产精品久久91 | 成人免费xxxxx在线观看 | 久久久精品久久久久 | 成年人在线观看av | 男人天堂视频在线观看 | 国产一级一片免费播放 | 美日韩黄色片 | 亚洲国产中文字幕在线观看 | 精品一二三四区 | 99视频免费在线观看 | 波多野结衣办公室33分钟 | 99视频+国产日韩欧美 | www男人的天堂 | 神马午夜dy888 | 国产精品国产三级国产Av车上的 | 久久国语| 用力抵着尿进去了h | 亚洲av综合色区无码一区爱av | 欧美女优视频 | 五月激情视频 | 日韩一区二区三区不卡 | 少妇又紧又深又湿又爽视频 | 国产学生美女无遮拦高潮视频 | 亚洲久久天堂 | 久久免费一级片 | 萌白酱在线观看 | 波多野结衣福利 | 久久久老熟女一区二区三区91 | 大陆一级片| 国产欧美一区二区三区在线 | 国产激情视频一区二区三区 | 亚洲成av人在线观看 | 一区三区在线 | 日韩国产欧美精品 | 欧美日韩在线影院 | 操日本老妇| 午夜一区二区三区免费观看 | 成人av国产 | 欧美精品久久久久性色 | 欧美激情精品久久久久久免费 | 国产一级影片 | 国产精品一二三四五 | 久久久久久久久久久综合 | 91视频网页 | 国产xxxxxxxxx | 日本午夜小视频 | 免费观看在线观看 | 欧美日韩黄色网 | 国产吞精囗交久久久 | 日日嗨av一区二区三区四区 | 国产69精品久久久 | 久久人妻精品白浆国产 | 亚洲激情社区 | 黄色美女一级片 | 啪啪网页| 男人天堂资源 | 国产精品毛片一区视频播 | 午夜写真片福利电影网 | 91香蕉视频污污 | 日本少妇吞精囗交视频 | 精品国产一区二区在线 | 美女网站免费观看视频 | 麻豆性生活 | 日韩精品一区二区三区四区 | 国产网站av| wwwxxxxx日本 | 色播五月激情五月 | 久久久久久免费视频 | av大片在线观看 | 色欲久久久天天天精品综合网 | 牛牛av国产一区二区 | 正在播放亚洲 | 日韩视频免费观看高清完整版 |