广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >JAVA8的分页工具
  • 398
分享到

JAVA8的分页工具

java教程JAVA 2021-03-11 21:03:33 398人浏览 无得
摘要

使用JAVA8的API可以实现分页,在数据量相对稳定的情况下,可以查出所有数据,配合缓存使用import java.util.ArrayList; import java.util.List; import java.util.Option

使用JAVA8的API可以实现分页,在数据量相对稳定的情况下,可以查出所有数据,配合缓存使用

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
 

public class Page {
	private int current_page;
	private int size;
	private int total_page; 
	private int total_sum;
	private transient List instanceList;//Gson不序列化transient字段
	private List currentPageData;
	private transient Optional> op;
	
	public Page(List instanceList,int size) {
		this.size = size;
		setInstanceList(instanceList);
	}
	
	public int getCurrent_page() {
		return current_page;
	}
	public void setCurrent_page(int current_page) {
		this.current_page = current_page<1?1:current_page>this.total_page?this.total_page:current_page;
		setCurrentPageData(currentPageData());
	}
	public int getSize() {
		return size;
	}
	public void setSize(int size) {
		this.size = size;
	}
	public int getTotal_page() {
		return total_page;
	}
	public int getTotal_sum() {
		return total_sum;
	}
	public List getInstanceList() {
		return instanceList;
	}
	public void setInstanceList(List instanceList) {
		this.op= Optional.ofNullable(instanceList);
		this.instanceList = op.orElse(new ArrayList());
		this.total_sum = this.instanceList.size();
		this.total_page =(int) Math.ceil(1.0*this.total_sum/this.size);
	}
	public void setCurrentPageData(List currentPageData) {
		this.currentPageData = currentPageData;
	}
	public List getCurrentPageData(){
		return this.currentPageData;
	}
	private List currentPageData(){
		if(this.size==0 || this.total_page == 1){
			return this.instanceList;
		}
		List currentPageData = new ArrayList();
		instanceList.stream().skip((this.current_page-1)*this.size).limit(this.size).forEach(e->currentPageData.add(e));
		return currentPageData;
	}
}

用法:

List newsList = newsService.findAll();
Page page = new Page<>(newsList, size);
page.setCurrent_page(current_page);
return JSONUtil.tojson(page,"yyyy-MM-dd");

--结束END--

本文标题: JAVA8的分页工具

本文链接: https://www.lsjlt.com/news/3763.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JAVA8的分页工具
    使用JAVA8的API可以实现分页,在数据量相对稳定的情况下,可以查出所有数据,配合缓存使用import java.util.ArrayList; import java.util.List; import java.util.Option...
    99+
    2021-03-11
    java教程 JAVA
  • java8日期工具类封装的实战记录
    目录前言在Java 8中如何处理日期和时间再封装Java8新增的日期、时间包总结前言 java现在应该是更新到16了,想想我当年刚参加工作的时候。普遍还都是java7,那时候没有Sp...
    99+
    2022-11-12
  • mybatis-plus 分页类型转换工具类
    前言  用mybatis-plus 的分页对象的时候,因为用mybatis-puls 查询出来的分页对象的records里的泛型是实体,有时候需要将实体转换为前端展示的对象...
    99+
    2022-11-13
  • 报表工具的分类
    报表工具的分类[@more@]从目前的应用来看,报表工具主要从以下几个方面来分:(1)从技术路线来分:JAVA报表、非JAVA报表。随着B/S的应用越来越多,走JAVA路线的用户对纯JAVA报表工具的需求越来越大。非JAVA报表一是厂家出于...
    99+
    2023-06-03
  • mybatis-plus分页类型转换工具类怎么用
    本文小编为大家详细介绍“mybatis-plus分页类型转换工具类怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“mybatis-plus分页类型转换工具类怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-06-29
  • 分析Java8使用工厂方法supplyAsync创建CompletableFuture
    这篇文章主要介绍“分析Java8使用工厂方法supplyAsync创建CompletableFuture”,在日常操作中,相信很多人在分析Java8使用工厂方法supplyAsync创建CompletableFuture问题上存在疑惑,小编...
    99+
    2023-06-25
  • LINQ工具集的示例分析
    这篇文章给大家分享的是有关LINQ工具集的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。LINQ工具集LINQ提供了很多可能性。它显著会更改如何处理和操作与您的应用程序和组件的数据的一些方面。在这里我们将...
    99+
    2023-06-17
  • PHP中的容错分析工具
    在开发过程中,很难避免出现一些程序错误或者逻辑漏洞。这时候,我们需要一些工具来进行容错分析,找出程序的问题所在。针对PHP语言开发的容错分析工具,可以帮助我们更快地发现问题、解决问题,提高开发效率。以下是一些常见的PHP容错分析工具。Xde...
    99+
    2023-05-23
    工具 PHP 容错分析
  • PHP中的日志分析工具
    随着应用程序的复杂度逐渐增加,日志分析工具已经成为了每个开发人员的必备工具之一。在PHP应用程序中,记录和分析日志是一项非常重要的任务,尤其是在一个多用户、高并发的应用程序中。在本文中,我们将介绍PHP中的一些日志记录和分析工具,以帮助开发...
    99+
    2023-05-25
    PHP编程 PHP日志分析 日志工具
  • java 内存分析工具
    Java有许多内存分析工具可用于识别和解决内存相关问题。以下是一些常用的Java内存分析工具: Java VisualVM:这是Java开发工具包(JDK)中提供的一种基本工具。它提供了一种图形化界...
    99+
    2023-09-16
    java 开发语言
  • java JDBC工具类 分包
     JDBC工具类   “获得数据库连接”操作,将在以后的增删改查所有功能中都存在,可以封装工具类JDBCUtils。提供获取连接对象的方法,从而达到代码的重复利用。   该工具类提供方法:public static Connection g...
    99+
    2021-10-31
    java JDBC工具类 分包 数据库入门 数据库基础教程
  • H5页面制作工具和手机app开发工具有哪些
    今天小编给大家分享一下H5页面制作工具和手机app开发工具有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2022-10-19
  • Linux开发工具和Windows开发工具对比的示例分析
    这篇文章给大家分享的是有关Linux开发工具和Windows开发工具对比的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Linux开发工具就C++开发工具而言,与Windows下微软(VC, VS2005...
    99+
    2023-06-16
  • node.js基础模块http、网页分析工具cherrio实现爬虫
    一、前言 说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http、网页分析工具cherrio。 使用http直接获取url路径对应网页资源,然后使用cherrio...
    99+
    2022-06-04
    爬虫 模块 网页
  • oracle分析工具dbms_profiler分析代码
    执行前需要运行$ORACLE_HOME/rdbms/admin/proftab.sql 创建一些关键表. BEGIN DBMS_PROFILER.START_PROFILER('MY_A...
    99+
    2022-10-18
  • Python制作刷网页流量工具
    准备 必须环境: Python3 开始 先实现一个简单的版本,直接上代码: import urllib.request import urllib.error #创建get方法 def get(ur...
    99+
    2022-06-04
    流量 网页 工具
  • Nodejs中mongoose工具的示例分析
    这篇文章将为大家详细讲解有关Nodejs中mongoose工具的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Mongoose 是在nodejs环境下,对mongodb进行便捷操作的对象模型工具。...
    99+
    2023-06-15
  • 分享一些Java的常用工具
    目录1:生成纯数字的随机数2:生成包含字母的随机数(大小写)3:正则表达式验证手机号(2021年期间的手机号)1:生成纯数字的随机数 package com.lucun.stud...
    99+
    2022-11-12
  • JavaScript常用的工具函数分享
    目录格式化时间戳时间格式化 几分钟前 几小时前url参数转为对象对象序列化【对象转url参数】本地存储cookie操作数字格式化单位数字千位过滤过滤成版本号首字母大写class 操作...
    99+
    2022-11-13
  • CentOS Linux下的3款分区工具
    博文目录简介  伴随着科技的飞速发展,越来越多的企业对于服务器的稳定要求越来越高,越来越多的企业开始采用linux系统来部署自己的服务,以求高效的稳定性,当然任何操作系统都需要一个最基本的基础,那就是硬盘,及硬盘分区,今天来给大家推荐几款C...
    99+
    2023-01-31
    分区 工具 CentOS
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作