1.首先来了解翻页的规律和方法
每页的条数 固定不变 pageSize 3
总共记录数 select count(*) from user totalSize 10
10 / 3 = 3 .....1
共多少页totalPage totalSize % pageSize == 0 ? totalSize / pageSize : totalSize / pageSize + 1
当前页 currentPage ====》default 1
当前页的数据 select * from user limit (currentPage-1)*pageSize,pageSize
规律
0,4,8,12,16
0,3,6,9,12,(6-1)*3
(n-1)*m
2.封装成员变量和方法
package javaweb_jsp.entry;
import java.util.List;
public class PageBean {
//总的页数
private Integer totalPage;
//当前页
private Integer currentPage;
//每页的数据
private List<User> userList;
public Integer getTotalPage() {
return totalPage;
}
public void setTotalPage(Integer totalPage) {
this.totalPage = totalPage;
}
public Integer getCurrentPage() {
return currentPage;
}
public void setCurrentPage(Integer currentPage) {
this.currentPage = currentPage;
}
public List<User> getUserList() {
return userList;
}
public void setUserList(List<User> userList) {
this.userList = userList;
}
@Override
public String toString() {
return "PageBean [totalPage=" + totalPage + ", currentPage=" + currentPage + ", userList=" + userList + "]";
}
}
3.service业务逻辑层处理
package javaweb_jsp.service;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import javaweb_jsp.dao.PageDao;
import javaweb_jsp.entry.PageBean;
import javaweb_jsp.entry.User;
/**
* 定义service层,处理逻辑关系和数据之间的调用
*
* 通过日志打印的方式,运行程序时,方便查询错误
* 打印日志需要通过占位符{},如果不加这个是打印不出来的
* logger.info("获取的总记录数为:{}",toalSize);
*
*
* @author Administrator
*
*/
public class PageService {
//使用指定类初始化日志对象
Logger logger=LoggerFactory.getLogger(PageService.class);
public PageBean getPageBean( String currentPage){
//打印日志
if(logger.isInfoEnabled()){
logger.info("获取的当前页为:{}",currentPage);
}
int PageSize=4;
//初始化为0
Integer currentPageInteger = 0;
if(currentPage!=null){
//因为从web层获取的类型都是字符串型,且类型需要把类型转换下int类型
currentPageInteger=Integer.valueOf(currentPage);
}
//实例化对象
PageDao pageDao = new PageDao();
//总记录数
long toalSize = pageDao.getToalSize();//调用getToalSize()数据库的查询的数据
if(logger.isInfoEnabled()){