sqlserver mysql分页_SqlServer,分页查询(最简单,新手必备!)

SqlServer,分页查询(最简单,新手必备!) sqlserver数据库在处理分页数据时,不如mysql可以用limit来限制每次查找的行数,智能用top来进行查找,这对于新手程序员来说,可能不是很容易来写出来。本文分享一个最简单,最方便的查询方法(大神勿喷!),废话不多说,直接进入正题!

1 对应表的实体类(方便测试,只设置了一个字段)

1 packagetestDemo;2 /**

3 * 实体类4 *5 *@authorDell6 *7 */

8 public classStudent {9 privateInteger id;10

11 publicInteger getId() {12 returnid;13 }14

15 public voidsetId(Integer id) {16 this.id =id;17 }18 }

2:分页的工具类(查询时只需查询出表中所有数据存入List集合中,不确定集合类型,工具类定义为Objec,转换方法在文章末,getInfoList()方法返回给界面需要展示的数据)

importjava.util.ArrayList;importjava.util.List;public classPageUtil {private Integer currentPage;//当前页数

private Integer pageSize;//页面大小

private Integer totalCount;//总数据量

private Integer totalPageCount;//总的页数

private List infoList;//接受的需要分页的数据

publicInteger getCurrentPage() {returncurrentPage;

}public voidsetCurrentPage(Integer currentPage) {this.currentPage =currentPage;

}publicInteger getPageSize() {returnpageSize;

}public voidsetPageSize(Integer pageSize) {this.pageSize =pageSize;

}publicInteger getTotalCount() {returntotalCount;

}/*** 计算得到总页数

*

*@paramtotalCount*/

public voidsetTotalCount(Integer totalCount) {if (totalCount > 0) {this.totalCount =totalCount;

totalPageCount= this.totalCount % pageSize == 0 ? (this.totalCount /pageSize)

: (this.totalCount / pageSize + 1);

}

}publicInteger getTotalPageCount() {returntotalPageCount;

}public voidsetTotalPageCount(Integer totalPageCount) {this.totalPageCount =totalPageCount;

}public ListgetInfoList() {//临时数组,存储已经分页的数据集合

List tempList = new ArrayList();//需要展示的第一条数据的索引

int startIndex = pageSize * (currentPage - 1);//结束的数据索引

int endIndex = (startIndex) +pageSize;for (int i = startIndex; i < endIndex; i++) {if (i

tempList.add(infoList.get(i));

}

}returntempList;

}public void setInfoList(ListinfoList) {this.infoList =infoList;

}

}

3:测试

1 public static voidmain(String[] args) {2

3 //模拟从数据中查询处的数据,20条

4 List stuList = new ArrayList();5 for (int i = 0; i < 20; i++) {6 Student stu = newStudent();7 stu.setId(i);8 stuList.add(stu);9 }10

11 PageUtil pageUtil = newPageUtil();12 pageUtil.setPageSize(5);//页面大小

13 pageUtil.setCurrentPage(2);//当前页数

14 pageUtil.setTotalCount(stuList.size());15 //传给工具类所有数据

16 pageUtil.setInfoList(Arrays.asList(stuList.toArray()));17

18 //临时集合,存储需要工具类返回的分页的数据集合

19 List showList = new ArrayList();20 showList = (List) (Object) pageUtil.getInfoList();21 //模拟界面展示数据

22 for (int i = 0; i < showList.size(); i++) {23 System.out.println(showList.get(i).getId());24 }25 }

tips:

1 List(Object)集合转换为实体类集合

List showList = (List) (Object) Object集合 ;

2 List集合转换为List集合

List objectList = Arrays.asList(stuList.toArray());

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值