jsp mysql 原生分页的制作

效果:

jsp mysql 原生分页的制作_第1张图片

前提:

项目已经创建完成,数据库已经创建完成,数据表中有数据。

jsp整体的代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>




系统页面


<% //定义4个分页用到的变量 int pageSize = 3;//每页显示的记录数 int pageNow = 1;//当前显示的页码 int rowCount = 0;//总记录数 int pageCount = 0;//总页数,通过pageSize和rowCount计算的 //接收用户点击的页码 并 对上定义的数据进行接收修改 String r_pageNow = request.getParameter("pageNow"); if(r_pageNow!=null){ //确保接收到用户传递的页码,通过超链接传递的 pageNow = Integer.parseInt(r_pageNow); } //查询得到rowCount Class.forName("com.mysql.jdbc.Driver"); //获取连接 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/usermassagesystemmodel1", "root", "root"); //创建连接库 Statement st = conn.createStatement(); //查 ResultSet rs = st.executeQuery("select count(*) from users;"); if (rs.next()) { rowCount = rs.getInt(1);//rs查到的数据只有一行一列,此处可直接去列标 } //计算pageCount if (rowCount % pageSize == 0) { pageCount = rowCount / pageSize; } else { pageCount = rowCount / pageSize + 1; } //查询需要显示的记录 int limitL = (pageNow-1)*pageSize; String sql="select * from users limit "+limitL+","+pageSize+""; rs = st.executeQuery(sql); %> <%while(rs.next()){%> <%} %>
id 账号 密码 邮箱 等级 操作
<%=rs.getString("id") %> <%=rs.getString("username") %> <%=rs.getString("password") %> <%=rs.getString("email") %> <%=rs.getString("level") %> 查看 修改 删除
<% if(pageNow!=1){ out.print("[首页]"); out.print("[上一页]"); } //显示分页 for(int i=1; i<=pageCount;i++){ out.println("["+i+"]"); } if(pageNow[下一页]"); out.print("[尾页]"); } %>

 1.分页需要用到的变量:

int pageSize = 3;//每页显示的记录数
int pageNow = 1;//当前显示的页码
int rowCount = 0;//总记录数
int pageCount = 0;//总页数,通过pageSize和rowCount计算的

2.连接mysql查询数据表中的数据

//查询得到rowCount
		Class.forName("com.mysql.jdbc.Driver");
		//获取连接
		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/usermassagesystemmodel1", "root",
				"root");
		//创建连接库
		Statement st = conn.createStatement();
		//查
		ResultSet rs = st.executeQuery("select count(*) from users;");
		if (rs.next()) {
			rowCount = rs.getInt(1);//rs查到的数据只有一行一列,此处可直接去列标
		}

3. mysql分页语句

//查询需要显示的记录
		int limitL = (pageNow-1)*pageSize;

		String sql="select * from users limit "+limitL+","+pageSize+"";

 

4.计算页码

//计算pageCount
		if (rowCount % pageSize == 0) {
			pageCount = rowCount / pageSize;
		} else {
			pageCount = rowCount / pageSize + 1;
		}

 5.打印出分页的样式

<%
		if(pageNow!=1){
			out.print("[首页]");
			out.print("[上一页]");
		}
		//显示分页
		for(int i=1; i<=pageCount;i++){
			out.println("["+i+"]");
		}
		if(pageNow[下一页]");
			out.print("[尾页]");
		}
	%>

 

你可能感兴趣的:(学习笔记,张小三,java,jsp)