• Mybatis-plus3.0 更新字段为 null


    Mybatis-plus3.0 更新字段为 null

    在3.0之前如果想更新数据库的字段为 null 值,大多通过实体类上添加注解实现 ,存在一定的风险,亦或者手动写 sql 。在 3.0 + 后提供了UpdateWrapper`更新条件构造器来实现字段置 null 值、空字符串的操作。

    1、创建更新条件构造器

    在这里我要置 age 的值为 null。

    //第一种:new对象,字段多时使用
    User user = new User();
    user.setName("test");
    UpdateWrapper<User> wrapper = new UpdateWrapper<>();
    wrapper.set("age", null).eq("id",1294183513728778246L);
    
    //第二种,直接在构造器上更新字段及拼接条件
    UpdateWrapper<User> wrapper = new UpdateWrapper<>();
    wrapper.set("age", null).set("name", "test").eq("id",1294183513728778246L)
    

    2、使用并打印结果

    通过mapper.update()方法使用构造器。

    //第一种
    int count =  userMapper.update(user,wrapper);
    
    //第二种
    int count =  userMapper.update(null,wrapper);
    

    输出结果如下

    image-20201217151143513

    可以看到 age 的值成功置为 null 了。

    3、注意点

    如果要更新 id的值,只能通过构造器上 set更新字段实现。

    即通过 UpdateWrapper()set()方法。

    user.setName("test");
    wrapper.set("age", null).set("id",1294183513728778246L).eq("id",1)
    

    输出结果如下

    image-20201217152416529

    通过 new 对象 set Id 无效

    user.setName("test");
    //set Id 无效
    user.setId(1294183513728778246L);
    wrapper.set("age", null).eq("id",1);
    

    输出结果如下

    image-20201217152848464

    自我控制是最强者的本能-萧伯纳
  • 相关阅读:
    Online ddl 工具之pt-online-schema-change
    【MySql】mysql 慢日志查询工具之mysqldumpslow
    赶集网mysql开发36条军规
    MySQL数据库高并发优化配置
    mysql的表分区
    mysql 如果处理货币金钱类型
    bootstrab table+表格 select可编辑完整实例
    mongoDb 给表添加+ 删除字段
    mongoDb +Java+springboot
    java+数据库+D3.js 实时查询人物关系图
  • 原文地址:https://www.cnblogs.com/CF1314/p/14149953.html
Copyright © 2020-2023  润新知