java技术实现分页操作------mysql

it2022-05-05  62


分页操作

***在Javaweb项目中分页操作随处可见,现在就分页操作大致讲解。 首先,必须对数据库进行一系列操作,要把即将从数据库中获取的数据全部变成我想要的模样。如:select * from crm_lessontype limit "+pageSize*currectPage+","+pageSize+其中,pageSize表示页面大小,currectPage表示当前页面。可以在数据库中对这两个参数进行赋值之后查看其变化(数据库的第一条是从0开始的)。 你会发现,它会显示出一部分的数据。现在开始从代码角度。`package com.taopan.util;

import java.util.List;

import com.taopan.entity.LessonType;

public class Page { private int total;//数据总数 private int pageSize;//页面大小 private int pageNum;//页面数 private int currentPage;//当前页面 private List<?> pages;//当前页面的数据

public int getTotal() { return total; } public void setTotal(int total) { this.total = total; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getPageNum() { return pageNum; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getCurrentPage() { return currentPage; } public void setCurrentPage(int currentPage) { this.currentPage = currentPage; } public List<?> getPages() { return pages; } public void setPages(List<?> pages) { this.pages = pages; }

} 创建一个Page页面,用于从存放那五个字段都是在其中可以被使用的。 2、调用:

`String query_all="select * from crm_lessontype limit "+pageSize*currectPage+","+pageSize+""; List<LessonType> lessonTypes=new ArrayList<LessonType>(); try { ps=conn.prepareStatement(query_all); rs=ps.executeQuery(); while(rs.next()){ LessonType lessonType=new LessonType(); lessonType .setId(rs.getInt("id")); lessonType .setLessionName(rs.getString(2)); lessonType.setLessionCost(rs.getDouble(3)); lessonType.setTotalTime(rs.getInt(4)); lessonType.setRemark(rs.getString(5)); lessonTypes.add(lessonType); 数据库连接并且获取信息。 Page page =new Page(); String current=request.getParameter("currentPage"); String pageGoInputId=request.getParameter("pageGoInputId"); if(current!=null){ page.setCurrentPage(Integer.valueOf(current)); }else{ if(pageGoInputId!=null){ page.setCurrentPage(Integer.valueOf(pageGoInputId)); }else{ page.setCurrentPage(0); } } page.setTotal(lessionDao.count()); page.setPageSize(4); page.setPageNum(page.getTotal()%page.getPageSize()==0?page.getTotal()/page.getPageSize():page.getTotal()/page.getPageSize()+1); if(page.getCurrentPage()>=page.getPageNum()||page.getCurrentPage()<0){ page.setCurrentPage(0); } List<LessonType>lessonTypes=lessionDao.querySomeLession(page.getPageSize(), page.getCurrentPage()); for(LessonType lessonType:lessonTypes){ System.out.println(lessonType.toString()); } request.setAttribute("page", page); request.setAttribute("list", lessonTypes); request.getRequestDispatcher("manageCourse.jsp").forward(request, response);

对page进行赋值。

<span id="pageSpanId">当前${page.currentPage+1}页/共${page.pageNum}页,总条数${page.total}条<br> <a href="LessionServlet?currentPage=0">首页</a> <a href="LessionServlet?currentPage=${page.currentPage-1}">上一页</a> <a href="LessionServlet?currentPage=${page.currentPage+1}">下一页</a> <a href="LessionServlet?currentPage=${page.pageNum-1}">尾页</a> </span>

在JSP中的使用。


最新回复(0)