java中实现分页的常见几种方式

文章讨论了在数据量较小的情况下,如何通过前端实现分页功能,后端直接返回所有数据。提到了使用数据库SQL的LIMIT和OFFSET来限制查询结果,Oracle的FETCHNEXT语法,以及在内存中利用List集合截取数据的方法。此外,还推荐了PageHelper这样的优秀插件来辅助分页处理。
  • 分页功能直接交给前端实现(根据业务场景且仅仅只能用于数据量少的情况)。即后端不做任何数据的限制,直接把全部数据返回给前端,前端通过组件实现分页,筛选等功能。请不要轻视该方式,好处即只需要前后端交互一次。

1使用数据库SQL的限制条件,即给搜索语句加上条件,限制查询出来的数据个数:

mysql数据库是使用 limit n,m 从第n个开始,往后取m个(注 不包括第n个数据)

oracle数据库是使用 OFFSET n ROWS FETCH NEXT m ROWS ONLY 从第n行开始,往后取m行(注 不包括第n行数据)

2. oracle的可以查看这篇文章:oracle中将数据进行排序之后,获取前几行数据的写法(rownum、fetch方式)

3.使用List集合的截取功能实现,即将数据都查到内存中List集合,在内存中找到要的数据。当然有人说这种方式还不如第二点,但请具体情况具体分析,有可能需求要的数据,是从数据库中查询不到的,需要将原始数据查到内存加工处理数据之后得到,才能进行分页处理。(同理,该方法,只能根据需求且数据量少的情况)

4.使用优秀的插件PageHelper,真的很不错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值