java数据库分页查询语句怎么写_java 分页对象以及数据库分页查询

import java.util.List;

public class Pager {

private Integer pageSize;

private Integer totalRecord;

private Integer totalPage;

private Integer currentPage;

private List list;

public Integer getPageSize() {

return pageSize;

}

public void setPageSize(Integer pageSize) {

this.pageSize = pageSize;

}

public Integer getTotalRecord() {

return totalRecord;

}

public void setTotalRecord(Integer totalRecord) {

this.totalRecord = totalRecord;

}

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 getList() {

return list;

}

public void setList(List list) {

this.list = list;

}

public Pager(Integer pageNo,Integer pageSize,List sourceList){

if(sourceList==null){

return;

}

//总记录数

this.totalRecord = sourceList.size();

//每页显示多小条数据

this.pageSize = pageSize;

//总页数

this.totalPage = this.totalRecord % this.pageSize == 0?this.totalRecord/this.pageSize:this.totalRecord/this.pageSize+1;

//当前第几页

if(this.totalPage < pageNo){

this.currentPage = this.totalPage;

}else{

this.currentPage = pageNo;

}

//起始索引 将此字段作为数据库分页查询的开始索引

Integer startIndex = this.pageSize * (this.currentPage - 1);

}

MySQL数据库实现分页查询的SQL语句写法!

一:分页需求:

客户端通过传递start(页码),limit(每页显示的条数)两个参数去分页查询数据库表中的数据,那我们知道MySql数据库提供了分页的函数limit m,n,但是该函数的用法和我们的需求不一样,所以就需要我们根据实际情况去改写适合我们自己的分页语句,具体的分析如下:

比如:

查询第1条到第10条的数据的sql是:select * from table limit 0,10;   ->对应我们的需求就是查询第一页的数据:select * from table limit (1-1)*10,10;

查询第10条到第20条的数据的sql是:select * from table limit 10,20;  ->对应我们的需求就是查询第二页的数据:select * from table limit (2-1)*10,10;

查询第20条到第30条的数据的sql是:select * from table limit 20,30;  ->对应我们的需求就是查询第三页的数据:select * from table limit (3-1)*10,10;

二:通过上面的分析,可以得出符合我们自己需求的分页sql格式是:select * from table limit (currentPage-1)*limit,limit; 其中currentPage是页码,limit是每页显示的条数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值