mybatis-plus更新策略部分字段不更新问题

 更新时间:2024年03月20日 11:41:11   作者:傲太白  
这篇文章主要介绍了mybatis-plus更新策略部分字段不更新问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mybatis-plus更新策略部分字段不更新

直接上代码

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.ANNOTATION_TYPE})
public @interface TableField {
    String value() default "";

    boolean exist() default true;

    String condition() default "";

    String update() default "";

    FieldStrategy insertStrategy() default FieldStrategy.DEFAULT; //新增

    FieldStrategy updateStrategy() default FieldStrategy.DEFAULT; //修改

    FieldStrategy whereStrategy() default FieldStrategy.DEFAULT;

    FieldFill fill() default FieldFill.DEFAULT;

    boolean select() default true;

    boolean keepGlobalFormat() default false;

    JdbcType jdbcType() default JdbcType.UNDEFINED;

    Class<? extends TypeHandler> typeHandler() default UnknownTypeHandler.class;

    String numericScale() default "";
}

五大策略

public enum FieldStrategy {
    IGNORED, //忽略
    NOT_NULL,    //字段不为null
    NOT_EMPTY,    //字段不为“”
    DEFAULT, //默认
    NEVER;    //从不更新

    private FieldStrategy() {
    }
}

使用方法

@TableField(value = "create_user_id", updateStrategy = FieldStrategy.NEVER)
private int createUserId;//创建用户ID

上述代码表达意思是,修改时该字段从不更新。

mybatis-plus字段更新策略 FieldStrategy

public enum FieldStrategy {
    // 不管有没有有设置属性,所有的字段都会设置到insert语句中,如果没设置值会更新为null 
    IGNORED,
    // 也是默认策略,也就是忽略null的字段,不忽略""
    NOT_NULL,
    // 为null,为空串的忽略,就是如果设置值为null,“”,不会插入数据库
    NOT_EMPTY,
    // 同NOT_NULL
    DEFAULT,
    // 一经插入 永不更新 (etc:createTime)
    NEVER;

    private FieldStrategy() {
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java通过 Socket 实现 TCP服务端

    Java通过 Socket 实现 TCP服务端

    这篇文章主要介绍了Java通过 Socket 实现 TCP服务端的相关资料,需要的朋友可以参考下
    2017-05-05
  • 解决Swagger2返回map复杂结构不能解析的问题

    解决Swagger2返回map复杂结构不能解析的问题

    这篇文章主要介绍了解决Swagger2返回map复杂结构不能解析的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 自定义BufferedReader的实例

    自定义BufferedReader的实例

    下面小编就为大家分享一篇自定义BufferedReader的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • spring mvc路径匹配原则详解

    spring mvc路径匹配原则详解

    这篇文章主要介绍了spring mvc路径匹配原则详解,小编觉得还是挺不错的,这里分享给大家,需要的朋友可以参考下,下面就和小编一起来看看吧
    2018-02-02
  • Java中Pattern.compile函数的使用详解

    Java中Pattern.compile函数的使用详解

    这篇文章主要介绍了Java中Pattern.compile函数的使用详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java基础学习之方法的重载知识总结

    Java基础学习之方法的重载知识总结

    今天带大家来回顾Java基础知识,文中对Java方法的重载相关知识作了非常详细的介绍,对正在学习java的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-05-05
  • JAVA中JNI的简单使用分享

    JAVA中JNI的简单使用分享

    这篇文章介绍了JAVA中JNI的简单使用,有需要的朋友可以参考一下
    2013-10-10
  • java 与testng利用XML做数据源的数据驱动示例详解

    java 与testng利用XML做数据源的数据驱动示例详解

    这篇文章主要介绍了java 与testng利用XML做数据源的数据驱动示例详解的相关资料,需要的朋友可以参考下
    2017-01-01
  • SpringCloud Netflix Ribbon超详细讲解

    SpringCloud Netflix Ribbon超详细讲解

    这篇文章主要介绍了SpringCloud笔记HoxtonNetflix之Ribbon负载均衡,Ribbon是管理HTTP和TCP服务客户端的负载均衡器,Ribbon具有一系列带有名称的客户端(Named Client),对SpringCloud Ribbon负载均衡相关知识感兴趣的朋友一起看看吧
    2022-10-10
  • Java spring的三种注入方式详解流程

    Java spring的三种注入方式详解流程

    Spring框架由Rod Johnson开发,2004年发布了Spring框架的第一版。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率
    2021-10-10

最新评论