zoukankan      html  css  js  c++  java
  • 解决MybatisPlus修改时空字段不修改问题

    今天遇到了一个问题,在更新数据时,MybatisPlus不会进行修改属性为空的数据表字段。

    解决办法:

    只需要在实体类的属性上加一行注释即可

    /**
     * 姓名
    */
    @TableField(fill = FieldFill.UPDATE)
    private String name;
    
    
    

    这行注释的意思是:在name这个属性执行修改时,将自动填充一个值(默认为null),即将字段修改为空,而不是不做修改。

    比较老的解决方式:

    在用mybatis-plus封装的updateById方法来更新数据时,想把一个字段设置为null值,但是发现更新后数据没有为null还是原来的值,这是因为mybatis-plus在更新的时候做了null判断,默认不更新为null的传参。

    2 解决方法
    在实体类对应的字段上加注解@TableField(strategy=FieldStrategy.IGNORED),忽略null值的判断,例如

    @TableField(strategy = FieldStrategy.IGNORED)
    private String name;
    当@TableField注解有多个值时

    @TableField(value = "user_name", strategy = FieldStrategy.IGNORED)
    private String userName;

  • 相关阅读:
    持续集成-禅道
    nohup.out 日志切分
    Flannel 介绍及使用场景
    【Unity游戏开发】初探Unity动画优化
    fastHttp服务端处理请求的过程
    PHPExcel导出文件代码实现
    PHPExcel 1.8
    CKfinder 安装与使用
    Ckeditor的配置
    Ckeditor的使用
  • 原文地址:https://www.cnblogs.com/maohuidong/p/11897591.html
Copyright © 2011-2022 走看看