首页 > 其他分享 >MybatisPlus高级特性之SimpleQuery工具类

MybatisPlus高级特性之SimpleQuery工具类

时间:2023-04-30 16:00:47浏览次数:39  
标签:map MybatisPlus SimpleQuery System getId 特性 Employee stringList

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);
    }

标签:map,MybatisPlus,SimpleQuery,System,getId,特性,Employee,stringList
From: https://www.cnblogs.com/qbbit/p/17365365.html

相关文章

  • MybatisPlus高级特性之ActiveRecord模式
    1、是什么?ActiveRecord是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表;而模型类的一个实例对应表中的一行记录。ActiveRecord一直广受解释型动态语言(PHP、Ruby等)的喜爱,通过围绕一个数据对象进行CRUD操作。而Java作为准静态(编译型)语言,对于ActiveRec......
  • Java1.8 新特性之Stream流
    转:Java1.8新特性之Stream流JDK1.8新特性 ......
  • [Unity脚本运行时更新]C#7.1新特性
    洪流学堂微信公众号。本文是该系列《Unity脚本运行时更新带来了什么?》的第6篇。洪流学堂公众号回复runtime,获取本系列所有文章。Unity2017-2018.2中的4.x运行时已经支持到C#6,之前的文章已经介绍完毕。Unity2018.3将支持到C#7.3,今天我们先来看看C#7.1新特性能给代码带来什么吧,不过......
  • [Unity脚本运行时更新]C#7.2新特性
    洪流学堂微信公众号。本文是该系列《Unity脚本运行时更新带来了什么?》的第7篇。洪流学堂公众号回复runtime,获取本系列所有文章。Unity2017-2018.2中的4.x运行时已经支持到C#6,之前的文章已经介绍完毕。Unity2018.3将支持到C#7.3,今天我们来看看C#7.2新特性能给代码带来什么吧,不过这......
  • java定义枚举并赋值_java中枚举的特性是什么?如何赋值?
    java定义枚举并赋值_java中枚举的特性是什么?如何赋值?原文链接:https://blog.csdn.net/weixin_32821643/article/details/114441841上次已经为大家介绍过java枚举的概念是什么的主要内容了。今天再来为大家介绍一些相关的知识,也是关于java枚举的一些内容,也就是它的特性以及如何......
  • Godot 4.0 文件系统特性的总结
    关于文件系统,官方文档犹抱琵琶半遮面,有一些很独特的特性并没有集中地摆出来,导致用的时候晕头转向。这里总结了目前我发现的Godot文件系统的一些特性。这是专门针对导出后的,因为一些操作在编辑器里面能跑,但是拿出来就不起作用了。这里并没有"自定义Resource"之类关于Resour......
  • SQL Server 2022 AlwaysOn新特性之包含可用性组介绍
    由于技术能力有限,文章仅能进行简要分析和说明,如有不对的地方,请指正,谢谢......
  • MybatisPlus 模糊查询数组中的所有字符串
     List<IcvDevice>deviceList=icvDeviceMapper.selectList(Wrappers.<IcvDevice>query().or(qw->pidList.forEach(sbbh->qw.like("sbbh",sbbh))).eq("sssblx&q......
  • 类特性(抽象类)
    抽象类与抽象方法什么是抽象类:随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。用abstract关键字来修饰一个类,这个类叫做抽象......
  • PageHelper和MybatisPlus的分页插件冲突
    分页插件优先使用的PageHelper的拦截器,所以当两种分页插件同时使用时PageHelper没有影响,而MybatisPlus的分页失效。解决方法:1、只用MyBatis+PageHelper或只用MybatisPlus;2、同时使用的话MybatisPlus构造查询语句,然后分页的业务交给PageHelper。同时使用的话不能配置MybatisPlus......