MybatisPlus高级特性之SimpleQuery工具类
1、是很么?
SimpleQuery可以对selectList查询后的结果使用Stream流进行操作,使其可以返回指定的结果,简洁了api的调用
2、怎么玩?
案例演示
(1) list操作
/**
* list(LambdaQueryWrapper<E> wrapper, SFunction<E, A> sFunction, Consumer<E>... peeks)
* 参数说明:
* param1 : 查询条件
* param2 : SFunction类型的函数式接口;你想要做了操作
*/
@Test
public void testList1() {
List<String> stringList = SimpleQuery.list(Wrappers.<Employee>lambdaQuery()
.gt(Employee::getId, 1), Employee::getName);
System.out.println("stringList = " + stringList);
}
/**
* list(LambdaQueryWrapper<E> wrapper, SFunction<E, A> sFunction, boolean isParallel, Consumer<E>... peeks)
* 参数说明:
* param1 : 查询条件
* param2 : SFunction类型的函数式接口;你想要做了操作
* param3 : 是否并行操作
* param4 : 转换后的后续流操作
*/
@Test
public void testList2() {
List<String> stringList = SimpleQuery.list(Wrappers.<Employee>lambdaQuery()
.gt(Employee::getId, 1), Employee::getName,
e -> Optional.of(e.getName()).map(String::toUpperCase).ifPresent(e::setName));
System.out.println("stringList = " + stringList);
}
(2) map操作
@Test
public void testMap1(){
Map<Integer, Employee> keyedMap = SimpleQuery.keyMap(Wrappers.<Employee>lambdaQuery()
.gt(Employee::getId, 1), Employee::getId);
System.out.println("keyedMap = " + keyedMap);
}
@Test
public void testMap2(){
Map<Integer, Employee> keyed = SimpleQuery.keyMap(Wrappers.<Employee>lambdaQuery()
.gt(Employee::getId, 1), Employee::getId, Employee::getName);
System.out.println("keyed = " + keyed);
(3) group操作
@Test
public void testGroup(){
Map<String, List<Employee>> map = SimpleQuery.group(Wrappers.<Employee>lambdaQuery()
.gt(Employee::getId, 1), Employee::getSex);
System.out.println("map = " + map);
}
MybatisPlus高级特性之SimpleQuery工具类的更多相关文章
- MybatisPlus高级特性
MybatisPlus高级特性 1. 公共字段自动填充 1.1 问题分析 在新增员工时需要设置创建时间.创建人.修改时间.修改人等字段,在编辑员工时需要设置修改时间.修改人等字段.这些字段属于公共字段 ...
- Java高级个人笔记(RandomStringUtils工具类)
//产生5位长度的随机字符串,中文环境下是乱码 RandomStringUtils.random(5); //使用指定的字符生成5位长度的随机字符串 RandomStringUtils.random( ...
- Java中的工具类和新特性
1:Collections集合框架工具类: /* 集合框架的工具类. Collections:集合框架的工具类.里面定义的都是静态方法. Collections和Collection有什么差别? Co ...
- Python的高级特性8:你真的了解类,对象,实例,方法吗
Python的高级特性1-7系列是本人从Python2过渡3时写下的一些个人见解(不敢说一定对),接下来的系列主要会以类级为主. 类,对象,实例,方法是几个面向对象的几个基本概念,其实我觉得很多人并不 ...
- paip。java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型
paip.java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http ...
- Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字
Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字 一丶Java中包的机制 首先包其实就是个文件夹.作用就是管理类. Java中每次定义一个类的时候.通过Java编译之后.都会生 ...
- .NET高级特性-Emit(2)类的定义
在上一篇博文发了一天左右的时间,就收到了博客园许多读者的评论和推荐,非常感谢,我也会及时回复读者的评论.之后我也将继续撰写博文,梳理相关.NET的知识,希望.NET的圈子能越来越大,开发者能了解/深入 ...
- JDK1.8新特性——Collector接口和Collectors工具类
JDK1.8新特性——Collector接口和Collectors工具类 摘要:本文主要学习了在Java1.8中新增的Collector接口和Collectors工具类,以及使用它们在处理集合时的改进 ...
- 01 语言基础+高级:1-6 集合_day03【List、Set、Collections工具类】
day03 [List.Set.数据结构.Collections] 主要内容 数据结构 List集合 Set集合 Collections 第一章 数据结构 2.1 数据结构有什么用 我们将常见的数据结 ...
- 零基础学习java------day12------数组高级(选择排序,冒泡排序,二分查找),API(Arrays工具类,包装类,BigInteger等数据类型,Math包)
0.数组高级 (1)选择排序 它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的起始位置 ...
随机推荐
- Linux ALSA 核心简单分析
Linux 内核 ALSA 框架通过向用户空间导出多个设备文件,以使用户空间程序可以与内核的音频子系统交互,可以访问音频硬件设备. Linux 内核 ALSA 音频框架初始化 Linux 内核 ALS ...
- linux cat查看文件使用grep实现多条件多场景过滤
转载请注明出处: 在实际应用过程中,我们查看日志文件时,经常会根据一定自定义的词语过滤,查看所有相关的数据行.最近遇到用cat查看文件,需要根据多关键词进行不同的场景过滤,在这里进行一个简单的总结: ...
- ArcMap中矢量数据修改标注Label的方法
本文介绍在ArcMap软件中,修改图层标签(Label)所显示字段与具体显示内容的方法. 在之前的文章中,我们看到了ArcMap中修改图层标签的重要性:可是,如何自定义图层的标签内容呢? ...
- Tongweb远程调试
最近,在对项目进行国产化时,要求springboot项目容器换成tongweb.在部署中,有个问题一直无法在本地重现,搜了下网上资料,基本没法实现,所以我整理了下.注意,项目包代码必须与本地代码保持一 ...
- 文心一言 VS 讯飞星火 VS chatgpt (88)-- 算法导论8.3 1题
一.用go语言,参照图 8-3 的方法,说明 RADIX-SORT在下列英文单词上的操作过程:COW,DOG,SEA,RUG,ROW,MOB, BOX, TAB, BAR, EAR,TAR, DIG, ...
- 你知道Golang的模板怎么用吗?带你了解动态文本的生成!
Golang Template Go语言中的Go Template是一种用于生成文本输出的简单而强大的模板引擎.它提供了一种灵活的方式来生成各种格式的文本,例如HTML.XML.JSON等. Go T ...
- PLC通过Modbus转Profinet网关与合康变频器Modbus通讯案例
PLC通过Modbus转Profinet网关(XD-MDPN100)与合康变频器Modbus通讯,实现了两个设备之间的数据交互.Profinet是一种基于以太网的实时工控网络协议,而Modbus是一种 ...
- Oracle查询--增加--删除--修改主键
对Oracle表主键的操作,有四类:查询,增加,修改,删除 1.查询主键 /*查询某个表中存在的约束*/ select * from user_constraints where table_name ...
- 记录 Ucharts 的使用
1.开启 2d 渲染 线上运行开启 canvas2d 可以解决图表显示问题 <qiun-data-charts canvas2d .../> canvasId 可以不传,官方内置生成随机字 ...
- Bridge 桥接模式简介与 C# 示例【结构型2】【设计模式来了_7】
〇.简介 1.什么是桥接模式? 一句话解释: 通过一个类的抽象,与另一个类的抽象关联起来,当做桥.此后不管两个抽象类的实现有多少种,均可以通过这个桥来将两个对象联系起来. 桥接,顾名思义就是用桥来 ...