一、Mysql分页
记住几个万年不变的公式就完了
(1)limit分页公式:limit (curPage-1)*pageSize,pageSize curPage是当前第几页;pageSize是一页多少条记录 sql语句: select * from student limit (curPage-1)*pageSize,pageSize;
(2)总页数公式: int totalPageNum = (totalRecord +pageSize - 1) / pageSize; totalRecord是总记录数;pageSize是一页分多少条记录
(3)总记录数: count( * ) sql语句: select count( * ) from student;
二、SSM项目分页实战
1、首先,我们先准备一个分页用到的工具类
public class PageUtil<T> { private int pageIndex;//当前页码 private int pageSize; //页面大小 private int totalcount; //总条数 private int pageCount; //总页数 private List<T> records; //分页的数据 private int numberStart; //开始序号 private int numberEnd; //结束序号 private List<Integer> numbers=new ArrayList<Integer>(); //序号 public PageUtil(int pageIndex, int pageSize, int totalcount, List<T> records) { this.pageIndex = pageIndex; this.pageSize = pageSize; this.totalcount = totalcount; this.records = records; //人工计算总页数 this.pageCount=(this.totalcount%this.pageSize==0)?(this.totalcount/this.pageSize):(this.totalcount/this.pageSize+1); //给序号赋值 if(this.pageCount<=10){ this.numberStart=1; this.numberEnd=this.pageCount; }else{ this.numberStart=this.pageIndex-4; this.numberEnd=this.pageIndex+5; if(this.numberStart<1){ this.numberStart=1; this.numberEnd=10; } if(this.numberEnd>this.pageCount){ this.numberStart=this.pageCount-9; this.numberEnd=this.pageCount; } } for(int i=numberStart;i<=numberEnd;i++){ numbers.add(i); } } public int getPageIndex() { return pageIndex; } public void setPageIndex(int pageIndex) { this.pageIndex = pageIndex; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getTotalcount() { return totalcount; } public void setTotalcount(int totalcount) { this.totalcount = totalcount; } public int getPageCount() { return pageCount; } public void setPageCount(int pageCount) { this.pageCount = pageCount; } public List<T> getRecords() { return records; } public void setRecords(List<T> records) { this.records = records; } public int getNumberStart() { return numberStart; } public void setNumberStart(int numberStart) { this.numberStart = numberStart; } public int getNumberEnd() { return numberEnd; } public void setNumberEnd(int numberEnd) { this.numberEnd = numberEnd; } public List<Integer> getNumbers() { return numbers; } public void setNumbers(List<Integer> numbers) { this.numbers = numbers; } }
2、看一下我们数据库的数据
3、运行我们的SSM项目,打开页面,请求Controller
4、看一下,我们的Controller
5、Service层就不带大家看了,直接来到持久层
6、返回到我们的页面,主要看参数那一块是怎么取值的,这个SSM项目没有用到Jsp页面,用到的是thymeleaf模板
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。