java对列表分页的方法,及mysql分页的sql原型

1.mysql
* mysql分页查询:
* select <include refid="Base_Column_List" /> from table_test
* order by id desc
* LIMIT #{offset},#{pageSize}

2. java8 skip limit

Stream流中的常用方法skip
Stream流中的常用方法skip:用于跳过元素
如果希望跳过前几个元素,可以使用skip方法获取一个截取之后的新流

Stream流中的常用方法limit
Stream流中的常用方法limit:用于截取流中的元素
limit方法可以对流进行截取,只取用前n个。

3. java list subList

package com.example.core.mydemo.java8;

import com.example.core.mydemo.json2.GsonUtils;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors; /**
*
*/
public class SkipLimitTest {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add(6);
list.add(7);
list.add(8);
list.add(9);
list.add(10); List<Integer> listPage = new ArrayList<>();
//add... int pageNum = 3;
int pageSize = 3;
Integer offset = (pageNum - 1) * pageSize;
//split page
List<Integer> subListPage = list.stream().skip(offset).limit(pageSize).collect(Collectors.toList());
System.out.println("subListPage=" + GsonUtils.toJson(subListPage)); //方法2
List<Integer> subListPage2 = subList(list,pageNum,pageSize);
System.out.println("subListPage2=" + GsonUtils.toJson(subListPage)); } //subList手动分页,page为第几页,rows为每页个数
public static List<Integer> subList(List<Integer> list, int pageNum, int pageSize){
List<Integer> listSort = new ArrayList<Integer>();
int size=list.size();
int pageStart=pageNum==1?0:(pageNum-1)*pageSize;//截取的开始位置
int pageEnd=size<pageNum*pageSize?size:pageNum*pageSize;//截取的结束位置
if(size>pageStart){
listSort =list.subList(pageStart, pageEnd);
}
//总页数
int totalPage=list.size()/pageSize;
System.out.println("totalPage=" + totalPage);
return listSort;
} }

java对列表分页的方法,及mysql分页的sql原型的更多相关文章

  1. php+mysql分页类的入门实例

    php+mysql分页类的简单代码 时间:2016-02-25 06:16:26来源:网络 导读:php+mysql分页类的简单代码,二个php分页类代码,对商品进行分页展示,当前页面数,每个页面展示 ...

  2. MySql 分页

    MySql 分页 由于最近项目需要,于是就简单写了个分页查询.总体而言MySql 分页机制较为简单.数据库方面只需要使用limit即可实现分页.前后台交互就直接用session传了值. 下面就写写具体 ...

  3. Oracle、SQL Server、MySQL分页方法

    测试用例:查询TEST_TABLE表中TEST_COLUMN列的第10-20条数据 1,Oracle分页方法 SELECT A.* FROM ( SELECT ROWNUM ROWNO, B.* FR ...

  4. MYSQL分页limit速度太慢优化方法

    http://www.fienda.com/archives/110 在mysql中limit可以实现快速分页,但是如果数据到了几百万时我们的limit必须优化才能有效的合理的实现分页了,否则可能卡死 ...

  5. Java数据库连接池的几种配置方法(以MySQL数据库为例)

    Java数据库连接池的几种配置方法(以MySQL数据库为例) 一.Tomcat配置数据源: 前提:需要将连接MySQL数据库驱动jar包放进Tomcat安装目录中common文件夹下的lib目录中 1 ...

  6. 【1】MySQL大数据量分页查询方法及其优化

    ---方法1: 直接使用数据库提供的SQL语句---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N---适应场景: 适用于数据量较少的情况(元组百/千 ...

  7. mysql分页优化方法

    mysql分页优化方法 今天遇到开发反应分页语句很慢,马上看一下到底是啥的分页语句 原分页语句 SELECT * FROM `tt` LIMIT , 执行这个语句需要6秒+时间 执行计划为全表扫描 在 ...

  8. MySQL大数据量分页查询方法及其优化

    MySQL大数据量分页查询方法及其优化   ---方法1: 直接使用数据库提供的SQL语句---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N---适 ...

  9. 4种MySQL分页查询优化的方法,你知道几个?

    前言 当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询.对于数据库分页查询,也有很多种方法和优化的点.下面简单说一下我知道的 ...

  10. java:Oracle(事务,分页,jdbc)Mysql(jdbc)

    1.事务:transaction -- 事务开启的唯一条件就是:对数据库进行增,删,改的时候 -- 换句话说,对数据进行增删改以后,必须要执行提交或者回滚 -- 事务就是把数据库中的数据从一致状态转换 ...

随机推荐

  1. 一年增加 1.2w 星,Dapr 能否引领云原生中间件的未来?

    简介: 虽然 Dapr 在国外有很高的关注度,但在国内知名度非常低,而且现有的少量 Dapr 资料也偏新闻资讯和简单介绍,缺乏对 Dapr 的深度解读.在 Dapr v1.0 发布之际,我希望可以通过 ...

  2. 使用 Flink Hudi 构建流式数据湖

    ​简介: 本文介绍了 Flink Hudi 通过流计算对原有基于 mini-batch 的增量计算模型的不断优化演进. 本文介绍了 Flink Hudi 通过流计算对原有基于 mini-batch 的 ...

  3. OpenKruise v0.10.0 新特性 WorkloadSpread 解读

    ​简介: 针对需求,OpenKruise 在 v0.10.0 版本中新增了 WorkloadSpread 特性.目前它支持配合 Deployment.ReplicaSet.CloneSet 这些 wo ...

  4. vue使用promise.all异步实现多个请求完成之后在执行某些操作

    使用场景:多个请求方法拿到数据之后需要对这不同的数据进行比较,之后在输出并渲染 思路:使用promise.all()异步操作: Promise.all([ //上架 new Promise((reso ...

  5. vue安装tinyMCE

    目录 [参考视频] [参考文章] 官网: https://www.tiny.cloud/auth/signup/ 资源下载 tinymce 官方为 vue 项目提供了一个组件tinymce-vue n ...

  6. Triton 源码初步研读

    一.核心接口形态 def jit( fn: Optional[T] = None, *, version=None, do_not_specialize: Optional[Iterable[int] ...

  7. java复制指定文件

    package com.cn.file; import org.junit.Test; import java.io.FileInputStream; import java.io.FileNotFo ...

  8. Docker打包程序镜像

    简介 做了一个视频检测程序,它是由golang和c++编写的.因为公司要做私有化部署,因此需要打包成镜像然后放到公司的registry镜像仓库里.之前一直没有去熟悉docker,现在刚好机会来了,咱就 ...

  9. 万事通,专精部分领域的多功能 Transformer 智能体

    介绍 我们很高兴分享"万事通"(Jack of All Trades,简称 JAT) 项目,该项目旨在朝着通用智能体的方向发展.该项目最初是作为对 Gato (Reed 等,202 ...

  10. C 语言编程 — 数据类型转换

    目录 文章目录 目录 前文列表 数据类型转换 隐式(自动)类型转换 常用的算术转换 显式(强制)类型转换 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法& ...