Mysql分页、SSM项目分页实战
-
- 一、Mysql分页
- 二、SSM项目分页实战
-
-
- ————————
- 创作不易,如觉不错,随手点赞,关注,收藏(* ̄︶ ̄),谢谢~~
-
一、Mysql分页 记住几个万年不变的公式就完了
(1)limit分页公式:limit (curPage-1)*pageSize,pageSize
curPage是当前第几页;pageSize是一页多少条记录
sql语句:
select * from student limit (curPage-1)*pageSize,pageSize;
【MySQl|Mysql分页、SSM项目分页实战】(2)总页数公式: int totalPageNum = (totalRecord +pageSize - 1) / pageSize;
totalRecord是总记录数;pageSize是一页分多少条记录
(3)总记录数: count( * )
sql语句:
select count( * ) from student;
二、SSM项目分页实战 1、首先,我们先准备一个分页用到的工具类
public class PageUtil {private int pageIndex;
//当前页码
private int pageSize;
//页面大小
private int totalcount;
//总条数
private int pageCount;
//总页数
private List records;
//分页的数据private int numberStart;
//开始序号
private int numberEnd;
//结束序号
private List numbers=new ArrayList();
//序号public PageUtil(int pageIndex, int pageSize, int totalcount, List 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 getRecords() {
return records;
}public void setRecords(List 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 getNumbers() {
return numbers;
}public void setNumbers(List numbers) {
this.numbers = numbers;
}
}
2、看一下我们数据库的数据
文章图片
3、运行我们的SSM项目,打开页面,请求Controller
文章图片
4、看一下,我们的Controller
文章图片
5、Service层就不带大家看了,直接来到持久层
文章图片
6、返回到我们的页面,主要看参数那一块是怎么取值的,这个SSM项目没有用到Jsp页面,用到的是thymeleaf模板
文章图片
7、看一下页面,没有问题
文章图片
———————— 创作不易,如觉不错,随手点赞,关注,收藏(* ̄︶ ̄),谢谢~~
推荐阅读
- java|[多线程] | 实例演示三种创建多线程的方式,初识线程同步以及解决线程安全问题(超卖)
- java|Spring Boot干货系列((三)启动原理解析 | 掘金技术征文)
- Web|高并发秒杀系统如何设计()
- 技术生涯|如何设计一个秒杀系统
- MySQL|MySQL(基本概念和基础操作)
- 设计模式|对象让我学会“创建者模式”再去找她玩(单例)
- 设计模式|让我学会“创建者模式”再去找她玩(工厂)
- 设计模式|学会“创建者模式”再去找她玩(原型)
- 趣味人生|猿创征文|独特且教训的技术成长之路