首先我们要理清楚分页我们都需要哪些数据,是否需要工作类
public class Page<T> { // 当前页码 private int pageIndex; // 每页数据量 private int
pageSize = 5; // 总页数 private int pageCount; // 总数据量 private int total; // 当前页数据
private List<T> results; }
理清我们所有的数据之后,就要开始考虑前台我们需要的首页,尾页,上一页,下一页
<a href="#?pageIndex=1">首页</a> <a href="#?pageIndex=<%=pageInfo.getPageIndex()
- 1 < 1 ? 1 : pageInfo.getPageIndex() - 1%>">上一页</a> <a
href="#?pageIndex=<%=pageInfo.getPageIndex() + 1 > pageInfo.getPageCount() ?
pageInfo.getPageCount() : pageInfo.getPageIndex() + 1%>">下一页</a> <a
href="#?pageIndex=<%=pageInfo.getPageCount()%>">尾页</a>  
当前第<%=pageInfo.getPageIndex()%>页,总共<%=pageInfo.getPageCount()%>页
当我们确定好之后就要开始考虑遍历我们的东西
<% Page<Student> pageInfo = (Page<Student>) request.getAttribute("page");
List<Student> stu = pageInfo.getResults(); %>
接收到之后我们就可以通过过JSTL进行遍历操作

后台代码
Servlet /* *正常接收 */ Page<Student> page =
studentService.getStudentByPage(Integer.parseInt(pageIndex), pageSize); Service
@Override public boolean updateStudent(String num, String phone, String
address) { int count = studentDao.updateStudent(num,phone,address); if (count >
0) { return true; } return false; } @Override public Page<Student>
getStudentByPage(int pageIndex, int pageSize) { Page<Student> page = new
Page<Student>(); //当前页 page.setPageIndex(pageIndex); //每页数据量
page.setPageSize(pageSize); //总数据量 int total = studentDao.countStudents();
page.setTotal(total); //查询当前页数据 List<Student> results =
studentDao.getStudentByPage(pageIndex,pageSize); page.setResults(results);
return page; } Dao @Override public int countStudents() { Connection conn =
this.getConnection(); //查询到所有数据 String sql = "select count(*) from student";
PreparedStatement pstmt = null; ResultSet rs = null; int count = 0; try { pstmt
= conn.prepareStatement(sql); rs = pstmt.executeQuery(); while (rs.next()) {
count = rs.getInt(1); } } catch (SQLException e) { e.printStackTrace(); }
finally { this.closeConnection(rs, pstmt, conn); } return count; } @Override
public List<Student> getStudentByPage(int pageIndex, int pageSize) { Connection
conn = this.getConnection(); String sql = "select * from student limit ?, ?";
PreparedStatement pstmt = null; ResultSet rs = null; List<Student> list = new
ArrayList<Student>(); Student sch = null; try { pstmt =
conn.prepareStatement(sql); pstmt.setInt(1, (pageIndex - 1) * pageSize);
pstmt.setInt(2, pageSize); rs = pstmt.executeQuery(); while (rs.next()) { sch =
new Student(); sch.setNum(rs.getString("student_num"));
sch.setName(rs.getString("student_name"));
sch.setSex(rs.getString("student_sex")); sch.setAge(rs.getInt("student_age"));
sch.setPhone(rs.getString("student_phone"));
sch.setAddress(rs.getString("student_address"));
sch.setClass1(rs.getString("student_class"));
sch.setRoom(rs.getString("student_room")); list.add(sch); } } catch
(SQLException e) { e.printStackTrace(); } finally { this.closeConnection(rs,
pstmt, conn); } return list; }
如果还是看不懂 可以移步学生信息管理系统

技术
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:766591547
关注微信