javaweb -数据管理系统 - 实现分页

要实现分页,必须知道 某一页的 数据从哪里开始 到哪里结束

第n页的数据: 第(n-1*10+1 --- 第n*10条

MYSQL:从0开始计数
0                    0                    9
1                    10                  19
2                    20                  29
n                    (n-1)*10         n*10-1
MYSQL实现分页的sql:
limit   开始, 多少条
第0页;
select * from    student limit 0, 10;1页:
select * from student limit 10, 10;
第n页:
select * from student limit 页数*页面大小,页面大小


oracle:从1开始计数
0                    1                    10
1                    11                  20
2                    21                  30
n                    (n-1)*10+1    n*10

在这里插入图片描述
表示层后端:(byUserByPage.java)

分页实现:
    5个变量(属性)

        1.数据总数                                        查数据库( select count(*)..
        2.页面大小(每页显示的数据条数)    (用户自定义)
        3.总页数                                                (程序自动计算)
                总页数 = 数据总数%页面大小 == 0? 数据总数/页面大小 : 数据总数/页面大小+1
        4.当前页(页码)                                (用户自定义)
        5.当前页的对象集合(实体类集合)        (查数据库,分页sql)
package servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import ServiceImpl.userDaoImpl;
import entity.user;

@WebServlet("/getUserByPage")
public class getUserByPage extends HttpServlet {
	private static final long serialVersionUID = 1L;
       

    public getUserByPage() {
    }


	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int default_index = 0;
		int default_size = 10;
		
		//没有参数时使用默认值
		default_index = request.getParameter("uindex") != null? Integer.parseInt(request.getParameter("uindex")):default_index;
		default_size = request.getParameter("usize") != null? Integer.parseInt(request.getParameter("usize")):default_size;
		
		
		int count = new userDaoImpl().count();
		List<user> result = new userDaoImpl().getDataByPage(default_index, default_size);
		request.setAttribute("ucount", count);
		request.setAttribute("uresult", result);
		request.getRequestDispatcher("main.jsp").forward(request,response);
	}


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

表示层前端:main.jsp

<%@page import="DaoImpl.DbDaoimpl"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import = "java.sql.*" %>
<%@ page import = "java.util.List" %>
<%@ page import = "entity.user" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
	<% 
	if(request.getAttribute("error")!=null){
		out.print("<script type='text/javascript'>alert('添加失败!');</script>");
	}else if(request.getAttribute("good")!=null){
		out.print("<script type='text/javascript'>alert('添加成功!');</script>");
	}else if(request.getAttribute("errorset")!=null){
		out.print("<script type='text/javascript'>alert('修改失败!');</script>");
	}else if(request.getAttribute("goodset")!=null){
		out.print("<script type='text/javascript'>alert('修改成功!');</script>");
	}
	%>
	//onsubmit: return true 表单正常提交,false表单终止
	<form action="addData" method = "Post" onsubmit="return check()">
		姓名:<input type = "text" name = "uname" id = "name"><br/>
		年龄:<input type = "text" name = "uage" id = "age"><br/>
		地址:<input type = "text" name = "uloc" id = "loc">
		<input type ="submit" value = "添加" ><br/>
	</form>
	<br/><br/><br/>
	
	<table border = "1px">
		<tr>
			<th>编号</th>
			<th>姓名</th>
			<th>年龄</th>
			<th>地址</th>
			<th>操作</th>
			<th>操作</th>
		</tr>
	
	<%
		response.setCharacterEncoding("UTF-8");
	
		int count = (int)request.getAttribute("ucount");
		List<user> list = (List<user>)request.getAttribute("uresult");
		String index_S = request.getParameter("uindex");
		
		if(index_S == null){
			index_S = "0";
		}
		
		int index = Integer.parseInt(index_S);
		int max_index = count/10;
		
		if(list!=null){
			for(user user : list){
				%>
					<tr>
						<td><%= user.getId() %></td>
						<td><%= user.getName() %></td>
						<td><%= user.getAge() %></td>
						<td><%= user.getLoc() %></td>
						<th><a href = "delData?uname=<%=user.getName()%>&uindex=<%=index%>" >删除</a></th>
						<th><a href = "set.jsp?uname=<%=user.getName()%>&uindex=<%=index%>" >修改</a>
					</tr>
				<%
				}
		}
		out.print("查到:"+count+"条数据"+ ",共"+(max_index +1)+"页");

	%>
	</table>
	
	
	<%			
			
			if(index != 0){
				out.print("<a href = 'getUserByPage?uindex=0'>首页</a>	");
				out.print("<a href = 'getUserByPage?uindex="+ ((index-1)<0?0:index-1) +"'>上一页</a>		");
			}
			out.print("< "+(index+1)+" >");
			if(index != max_index){
				out.print("<a href = 'getUserByPage?uindex="+ ((index+1>max_index)?max_index:index+1) + "'>下一页</a>	");
				out.print("<a href = 'getUserByPage?uindex="+max_index +"'>尾页</a>");
			}
			
			%>


</body>
</html>

set.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ page import = "DaoImpl.DbDaoimpl" %>
    <%@ page import = "java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

		<%
			String sql = "SELECT id,name,age,loc FROM user WHERE name = ?";
			ResultSet result = new DbDaoimpl().Select(sql, request.getParameter("uname"));
			if(result.next()){
				String id = result.getString(1);
				String name = result.getString(2);
				String age = result.getString(3);
				String loc = result.getString(4);
				String index =  request.getParameter("uindex");
		%>
				<form action="setData" method ="Post">
				编号:<input type = "text" name = "uid" value = "<%=id%>" readonly="readonly"><br/>
				姓名:<input type = "text" name = "uname" value = "<%=name%>"><br/>
				年龄:<input type = "text" name = "uage" value = "<%=age%>"><br/>
				地址:<input type = "text" name = "uloc" value = "<%=loc%>">
				<input type="hidden" name = "uindex" value = "<%=index%>">
				<input type ="submit" value = "修改">
				</form>
				
		<%
			}
		%>



</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值