利用資料庫實現分頁,並顯示在Table中
MYsql: String sql = "select * from GoodsType LIMIT "+start+","+sum;為Mysql資料庫
SQL: String sql = "select top "+sum+" * from GoodsType where GoodsTypeid not in (select top "+start+" GoodsTypeid from GoodsType)";
在表格中每次迴圈顯示出來就行,(注:開啟或者跳轉當前頁面時候都要傳入一個引數值,否則:404)
例:
方法:public List<GoodsType> findGoodsTypeByPage(int page) {//分頁查詢
List<GoodsType> list = new ArrayList<GoodsType>();
GoodsType goodsType = null;
Connection conn = null;//連線物件(建立通道java-驅動)
PreparedStatement pstmt = null;//執行物件(執行sql語句)
ResultSet rs = null;//結果集(查詢資料庫返回結果集)
int sum=10;//sum值為每頁顯示20條
int start=sum *(page-1);//第1頁第一條記錄下標是0.第二頁第一條記錄下標為20,這個是根據給的頁面數值找下標初始值
// String sql = "select * from GoodsType LIMIT "+start+","+sum;為Mysql資料庫
String sql = "select top "+sum+" * from GoodsType where GoodsTypeid not in (select top "+start+" GoodsTypeid from GoodsType)";
try {
//1獲得連線
conn = DBConnection.getConn();
//2建立執行物件
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next()){//判斷是否查詢到資料
goodsType = new GoodsType();
//把rs中的資料封裝到goodsType物件
goodsType.setGoodsTypeId(rs.getInt(1));//rs索引從1開始,表示表中第一列,按照資料庫表列的順序
goodsType.setGoodsTypeName(rs.getString(2));
goodsType.setGoodsTypeContent(rs.getString(3));
//將物件新增到集合
list.add(goodsType);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
//關閉資源
DBConnection.closeResultSet(rs);
DBConnection.closeStatement(pstmt);
DBConnection.closeConn(conn);
}
return list;
}
JSP頁面關鍵程式碼:
<Table>
<%
int p=1;
p=Integer.parseInt(request.getParameter("page"));
if(p<1) p=1;
//當頁數小於1的時候,就為第一頁
GoodsTypeDaoImpl g = new GoodsTypeDaoImpl();
List<GoodsType> list = g.findGoodsTypeByPage(p);
for(GoodsType goodsType :list){
%>
<tr>
<td valign="middle" align="left"><%out.print(goodsType.getGoodsTypeId()); %></td>
<td valign="middle" align="left"><%=goodsType.getGoodsTypeName() %></td>
<td valign="middle" align="left"><%=goodsType.getGoodsTypeContent() %></td>
</tr>
<%
} %>
</table><br/><p align="right">第<%out.print(p); %>頁
<a href="manageGoodsType/manageGoodsType.jsp?page=<%=p-1%>">上一頁</a>
<a href="manageGoodsType/manageGoodsType.jsp?page=<%=p+1%>">下一頁</a><br/></p>