整点活,MyBatis-Plus学习笔记(第2.3节 U 更新)

前言

R结束,开始U(歌手。。还是第三季和上一季是巅峰)
这个是自己学习时候记得笔记要是想详细了解可以去MP官网,上边有更详细的配置流程以及视频教学:MyBatis-Plus

更新操作

返回值为影响行数

  1. updateById()
  • 传入要更新对象实体,不为null的属性放到set中
 public void updateTypeById() {
        Type type = new Type();
        type.setTypeId(1);
        type.setProductDate(new Date("2017-2-10"));
        int updRow = this.typeMapper.updateById(type);
        System.out.println(updRow + ",影响记录条数");
    }

  1. 使用条件构造器 UpdateWrapper
  • update(Entity,QueryWrapper)
  • Entity中的实体不为null的变量会放到 set 语句中
  • UpdateWrapper中为where条件
  • UpdateWrapper在构造的时候传入实体,也会将实体中的属性放到where中,会出现where语句中的重复
 public void updateTypeByWrapper() {
        // 方法一
        Type type = new Type();
        type.setProductDate(new Date("2017-2-10"));
        UpdateWrapper<Type> wrapper = new UpdateWrapper<>();
        wrapper.eq("name", "巧克力");
        int updRow = this.typeMapper.update(type, wrapper);


//        // 方法二 : 当不需要创建实体时,只需要设置set就可以
//        UpdateWrapper<Type> wrapper1 = new UpdateWrapper<>();
//        wrapper1.eq("type_id",1).set("name","黑白");
//        int updRow1 = this.typeMapper.update(null,wrapper1);
        System.out.println(updRow + ",影响记录条数");
    }
  1. Lambda构造器
  • 好处就是不用担心列名设置错了
public void updateTypeByWrapperLambda() {
        LambdaUpdateWrapper<Type> lambdaUpdateWrapper = Wrappers.<Type>lambdaUpdate();
        lambdaUpdateWrapper.eq(Type::getName, "黑白").eq(Type::getTypeId, 1)
                .set(Type::getProductDate, new Date("2016-5-21"));
        int updRow = this.typeMapper.update(null, lambdaUpdateWrapper);
    }
  1. Lambda的链式调用
  • 当影响的行数>0时,返回true
public void updateTypeByWrapperLambdaChain(){
        boolean upd = new LambdaUpdateChainWrapper<Type>(typeMapper)
                .eq(Type::getName,"巧克力").eq(Type::getTypeId,1)
                .set(Type::getName,"菲克力")
                .update();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值