zoukankan      html  css  js  c++  java
  • mybatis与stream使用小记

    1-mybatis解决limit语句限制

    This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery异常解决方法

    例子1:mybatis-plus 1层子查询嵌套,mysql不支持LIMIT/IN/ANY/SOME

    // 查询最近100条数据
    List<SendNsqMessageDO> allfeeYopProtocolDTOs = sendNsqMessageMapper.selectList(
    new QueryWrapper<SendNsqMessageDO>()
    .inSql("id","select id from send_nsq_message order by created_at desc limit 100")
    );

    解决办法:2层子查询

    // 查询最近100条数据
    List<SendNsqMessageDO> allfeeYopProtocolDTOs = sendNsqMessageMapper.selectList(
    new QueryWrapper<SendNsqMessageDO>()
    .inSql("id","select t.id from (select * from send_nsq_message order by created_at desc limit 100) as t")
    );

    2-stream快速实现求和

    目的:结合mybatis查询结果,快速求和

     

    普通解决办法:求出列的List,然后遍历相加,求和

     

    简化版:

    int oweQuotaSum = alldebtRecords.stream().mapToInt(t->Math.toIntExact(t.getOweQuota())).sum();
    int oweQuotaSnapshotSum = alldebtRecords.stream().mapToInt(t->Math.toIntExact(t.getOweQuotaSnapshot())).sum();
    int recoveryQuotaSum = alldebtRecords.stream().mapToInt(t->Math.toIntExact(t.getRecoveryQuota())).sum();

  • 相关阅读:
    只出现一次的数字
    SpringBoot整合Redis
    MFC 0误差画图
    模仿.NET的序列化机制
    求最大子数组
    让CFrameWnd派生类的对象响应鼠标消息的“变态”方法
    关于chm文件和'#'的惊人发现
    CxImage学习笔记
    C++指针系列
    MFC,C++ 截屏
  • 原文地址:https://www.cnblogs.com/forfreewill/p/13567070.html
Copyright © 2011-2022 走看看