当前位置: 首页 > news >正文

java1.8 interface_JDK1.8新特性——FunctionInterface

函数式接口FunctionInterface

特征:

接口中只定义了一个方法。

接口中允许存在重写Object类的抽象方法。

PageAction .java

@FunctionalInterface

public interface PageAction {

List> execute();

}

BaseCurdService.java 分页方法定义,当使用分页时,我们并不知道来自于那个Mapper,这里我们就可以使用FunctionInterface来定义这个函数,使用时只需要实现具体的接口即可。

@Override

public Pagination findbyPage(PageRequest pageRequest, PageAction action) {

PageHelper.startPage(pageRequest.getPageNum(), pageRequest.getPageSize(), pageRequest.getOrderBy());

//执行DB操作,PageHelper自动对分页进行查询

List> list = action.execute();

PageInfo pageInfo = new PageInfo(list);

Pagination pagination = new Pagination(list);

pagination.setData(pageInfo.getList());

pagination.setPageNum(pageInfo.getPageNum());

pagination.setPageSize(pageInfo.getPageSize());

pagination.setPages(pageInfo.getPages());

pagination.setTotal(pageInfo.getTotal());

return pagination;

}

public Pagination findbyPage(PageRequest pageRequest, UserDTO userDTO) {

return super.findbyPage(pageRequest, () -> userMapper.selectAll());

}

相关文章:

  • php file_get_contents 中文,php file_get_contents函数怎么用
  • php 平均下载速度,php限制下载速度的实现方法
  • docker lamp php7,环境准备:docker-compose安装 LAMP、LNMP、php扩展
  • java system.in 怎么写,java 里System.in 输入流如何使用
  • php 两数最大相同子串,用javascript求两个字符串最大的相同的子串(代码实例)...
  • JAVA ulimit,Linux:使用ulimit设置文件最大打开数
  • matlab表示数据散度的统计量,matlab kl-divergence(KL散度)实现代码 | 学步园
  • mysql anzhaung xiangjie,GitHub - dizhaung/spring-boot-student: spring-boot-student
  • php 2m 上传 限制,解决wordpress上传文件2M限制
  • matlab画图的参数,Matlab 画图plot参数 颜色 类型
  • 谱聚类算法 matlab,SpectralClustering 谱聚类算法的matlab实现 238万源代码下载- www.pudn.com...
  • centos 查看php并发访问量,如何查看centos是否联网
  • java编程实现求素数个数,Java并行程序设计——求素数个数(Runnable接口实现)...
  • wordpress文章页饮用php文件,wordpress进阶教程之在后台文章编辑页面添加自定义面板类文件|wordpress主题定制-阿树工作室...
  • oracle与用友的差别,用友U9 PK SAP/Oracle:敢比就是赢
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • angular2开源库收集
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • git 常用命令
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • JavaScript-Array类型
  • java多线程
  • nodejs:开发并发布一个nodejs包
  • October CMS - 快速入门 9 Images And Galleries
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • React-flux杂记
  • 电商搜索引擎的架构设计和性能优化
  • 动态规划入门(以爬楼梯为例)
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 微信开源mars源码分析1—上层samples分析
  • 项目管理碎碎念系列之一:干系人管理
  • 主流的CSS水平和垂直居中技术大全
  • HanLP分词命名实体提取详解
  • ​​​​​​​​​​​​​​Γ函数
  • ​ArcGIS Pro 如何批量删除字段
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (floyd+补集) poj 3275
  • (独孤九剑)--文件系统
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (九)One-Wire总线-DS18B20
  • (南京观海微电子)——I3C协议介绍
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)Sublime Text3配置Lua运行环境
  • (转)创业家杂志:UCWEB天使第一步
  • (转)视频码率,帧率和分辨率的联系与区别
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET 回调、接口回调、 委托