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


分页操作

***在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中的使用。

上一篇:实战 ASP.NET MVC Web API


下一篇:java泛型