首页 > 其他分享 >lamda表达式 updateWrapper

lamda表达式 updateWrapper

时间:2023-04-12 22:05:49浏览次数:40  
标签:status lamda coupon UpdateWrapper key id 表达式 updateWrapper

eq or like

接收一个w (id= xx or spuu_name like xxx) 用括号括起来 后面 and status =xxx  属于内嵌条件
WHERE (( (id = ? OR spu_name LIKE ?) ) AND publish_status = ? AND brand_id = ? AND catalog_id = ?)
if (!StringUtils.isEmpty(key)){
    wrapper.and((w)->{
        w.eq("id",key).or().like("spu_name",key);
    });
}

String status = (String) params.get("status");
if (!StringUtils.isEmpty(key)){
    wrapper.eq("publish_status",status);
}

大于 小于

String min = (String) params.get("min");
if (!StringUtils.isEmpty(key)){
    //ge大于
    queryWrapper.ge("price",min);
}

String max = (String) params.get("max");
if (!StringUtils.isEmpty(key)){
    //le小于
    queryWrapper.le("price",max);
}

更新 updateWrapper

@Override
public void updateUmsAddr(UmsAddr umsAddr) {
    Integer addrDefault = umsAddr.getAddrDefault();
    //如果addr_default是默认地址 1.先修改其他为非默认,在更新
    if (addrDefault== UmsAddrConstant.umsAddrDefault.ONDEFAULT.getCode()){
        UpdateWrapper<UmsAddr> updateWrapper = new UpdateWrapper<>();
        //定义updateWrapper 设置全部addr_default为0
        updateWrapper.set("addr_default", 0);
        this.baseMapper.update(null,updateWrapper);
    }
    this.baseMapper.updateById(umsAddr);
}
@Override
public void reduceCouponNumber(Long couponId){
    UpdateWrapper<Coupon> updateWrapper=new UpdateWrapper<>();
    updateWrapper.setSql("coupon_number=coupon_number-1");
    updateWrapper.eq("coupon_id",couponId);
    this.update(updateWrapper);
}
Update set coupon_number=coupon_number-1 where coupon_id=couponId

updateWrapper.in("status", new Integer[]{0, 1}) sql 拼接
UpdateWrapper<TenantTrialApply> updateWrapper = new UpdateWrapper<>();
        updateWrapper.lambda()
                .eq(TenantTrialApply::getId, connectStatus.getId());
        boolean update = this.update(connectStatus, updateWrapper);

queryWrapper.in(isNotEmpty(query.getIds()), "id", query.getIds());//是否推荐 1:推荐 eq(boolean condition, R column, Object val) 第一个参数 为boolean类型 true就拼接上 flase就不拼接;

标签:status,lamda,coupon,UpdateWrapper,key,id,表达式,updateWrapper
From: https://blog.51cto.com/u_15993308/6186314

相关文章

  • 这样也行,在lambda表达式中优雅的处理checked exception
    简介最近发现很多小伙伴还不知道如何在lambda表达式中优雅的处理checkedexception,所以今天就重点和大家来探讨一下这个问题。lambda表达式本身是为了方便程序员书写方便的工具,使用lambda表达式可以让我们的代码更加简洁。可能大多数小伙伴在使用的过程中从来没有遇到过里面包含......
  • 正则表达式-常见问题处理
    问题处理思路:在讲解具体的问题前,我先来说一下使用正则处理问题的基本思路。有一些方法比较固定,比如将问题分解成多个小问题,每个小问题见招拆招:某个位置上可能有多个字符的话,就用字符组。某个位置上有多个字符串的话,就用多选结构。出现的次数不确定的话,就用量词。对出现的位置有要......
  • 正则表达式-笔记
    元字符元字符就是指那些在正则表达式中具有特殊意义的专用字符元字符的分类与记忆技巧我们可以把元字符大致分为这几类:表示单个特殊字符的,表示空白符的,表示某个范围的,表示次数的量词,另外还有表示断言的,我们可以把它理解成边界限定。特殊单字符.任意字符(换行除外)\d任意数......
  • 正则表达式-语言处理
    在进行文本处理时,正则解决的问题大概可以分成四类,分别是校验文本内容、提取文本内容、替换文本内容、切割文本内容。在这一节里,我会从功能分类出发,给你讲解在一些常见的编程语言中,如何正确地实现这些功能。校验文本内容我们先来看一下数据验证,通常我们在网页上输入的手机号、邮......
  • QuartZ Cron表达式简记
    表达式范例:*/5****?每隔5秒执行一次0*/1***?每隔1分钟执行一次0023**?每天23点执行一次001**?每天凌晨1点执行一次:0011*?每月1号凌晨1点执行一次0023L*?......
  • 【c#表达式树】最完善的表达式树Expression.Dynamic的玩法
    引言在我第一次写博客的时候,写的第一篇文章,就是关于表达式树的,链接:https://www.cnblogs.com/1996-Chinese-Chen/p/14987967.html,其中,当时一直没有研究Expression.Dynamic的使用方法(因为网上找不到资料),就了解到是程序运行时动态去构建表达式树,举个例子,例如我们需要在我......
  • 用Java写一段中国身份证的正则表达式,要求验证身份证中的日期,且大于1900年,以及校验码验
    以下是一个Java正则表达式,可用于验证中国身份证中的日期,并要求日期在1900年及之后:Stringregex="(?:(?:19[0-9]\\d)|(?:[2-9]\\d{3}))(?:0[1-9]|1[012])(?:0[1-9]|[12]\\d|3[01])\\d{3}[\\dXx]";这个正则表达式的含义如下:(?:(?:19[0-9]\\d)|(?:[2-9]\\d{3})):匹配1900年......
  • 正则表达式和re模块
    正则表达式和re模块一、正则表达式1、常用元字符.匹配除换行符以外的任意字符\w匹配字母或数字或下划线\s匹配任意的空白符\d匹配任意的数字\n匹配一个换行符\t匹配一个制表符^匹配字符串的开始$匹配字符串的结尾\W匹配非字母或数字或......
  • 使用lambda表达式来给函数传递参数
    self.combo_box2.Bind(wx.EVT_TEXT_ENTER,self.on_text_change)绑定了事件和on_text_change函数;怎么在这个绑定操作中给on_text_change函数传递一个参数呢?需要传递的参数就是这个控件本身(self.combo_box2)。在on_text_change函数中又该怎么取用呢?接下来举例说明如何处理:在绑......
  • jdk1.8中lambda表达式的理解
    惰性求值Stringmsg="打印一些日志:"+thislogger.fine(msg);//即使最后不打印日志,但字符串的拼接工作还是会执行logger.fine(()->"打印一些日志:"+this);//使用了lambda表达式之后,字符串的拼接放到一个函数里面,fine日志需要打印的时候才去调用这个方法才真正执行......