分页显示sql语句
public List<Goods> getGoodsPage(int page){
List<Goods> glist=new ArrayList<Goods>();ResultSet rs=null;
PreparedStatement ps=null;
Connection conn=null;
String sql="select * from t_goods limit ?,2";
conn=DbUtils.getConn();
try {
ps=conn.prepareStatement(sql);
ps.setInt(1, (page-1)*2); --- 根据每页显示多少条数据在后面乘以相对应的数字
rs=ps.executeQuery();
while(rs.next()){
Goods goods=new Goods();
goods.setNo(rs.getString("no"));
goods.setName(rs.getString("name"));
goods.setAddress(rs.getString("address"));
goods.setTime(rs.getString("time"));
goods.setType(rs.getString("type"));
glist.add(goods);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DbUtils.close(rs, ps, conn);
}
return glist;
}
service
GoodsInfo gi = new GoodsInfo(); ---- 数据库访问类
String p = request.getParameter("page");
int pa;
if (p != null) {
pa = Integer.parseInt(p.toString());
} else {
pa = 1;
}
List<Goods> glist = gi.getGoodsPage(pa);
int count = gi.getCount();
int maxpage = 0;
if (count % 2 == 0) {
maxpage = count / 2; ----判断
} else {
maxpage = count / 2 + 1;
}
request.setAttribute("pa", pa);
request.setAttribute("glist", glist);
request.setAttribute("maxpage", maxpage);
request.setAttribute("count", count);
request.getRequestDispatcher("First.jsp").forward(request, response);
JSP页面
<h1 align="center">商品显示</h1>
<form action="goods" method="get">
<table align="center" width="650px" border="1" cellpadding="0" cellspacing="0" >
<tr align="center">
<td>商品编号</td>
<td>商品名称</td>
<td>生产地址</td>
<td>生产日期</td>
<td>商品类型</td>
</tr>
<%
List<Goods> glist=(List<Goods>)request.getAttribute("glist");
for(Goods gd:glist){
%>
<tr align="center">
<td><%=gd.getNo() %></td>
<td><%=gd.getName() %></td>
<td><%=gd.getAddress() %></td>
<td><%=gd.getTime() %></td>
<td><%=gd.getType() %></td>
</tr>
<%} %>
<%
int pa=Integer.parseInt(request.getAttribute("pa").toString());
int maxpage=Integer.parseInt(request.getAttribute("maxpage").toString());
int count=Integer.parseInt(request.getAttribute("count").toString());
%>
</table>
</form>
<div align="center" id="ss">
<p><a href="goods?page=1">首页</a>
<a href="goods?page=<%=(pa-1)<1?1:(pa-1) %>">上一页</a>
<a href="goods?page=<%=(pa+1)>maxpage?maxpage:(pa+1) %>">下一页</a>
<a href="goods?page=<%=maxpage%>">尾页</a>
<p>共[<%=count %>]条数据
当前页[<%= pa %>] </p></p>
</div>