java分页详解

为了使得从数据库取得的数据能够在前台界面友好的展示,需要对这些数据进行分页显示,分页展示一共有两种方式:一种是传统的上一页下一页的方式,另一种方式是瀑布

式加载数据。

这里不谈这两种分页的展示方式,来了解一下常见的分页实现方式都有哪些:

1、 使用list接口中的subList(int startIndex, int endIndex)方法实现分页

这种方式实现了查询从startIndex到endIndex之间的数据列表。


2、使用sql语句实现分页

mysql数据库:使用limit数据库      如: select * from student limit 0,10   查询从0条数据开始的10条记录。

oracle数据库:使用子查询来实现分页。 如: select  * from (select s.*, rownum rn from (select * from student) s where rownum <= 10)where rn >=1

3、使用hibernate、mybatis等框架实现跨数据库的分页

hibernate:需要创建criteria或者Query对象,查询时设置firstResult和maxResults参数,firstResult代表从哪条开始查,maxResults代表查询多少条。

String hql = "from student";

Query q = session.createQuery(hql);

q.setFirstResult(0);

q.setMaxResults(10);

List  list = q.list();


三种方式比较:

第一种方式简单,易用,但是效率低,每次都要把所有数据查询出来;第二种方式简单直接效率高,但是数据库兼容性低,适合不要求数据库兼容性的场景;第三种方式:

面向对象,数据库兼容性强,但是复杂查询效率相对低一些。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值