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 与testng利用XML做数据源的数据驱动示例详解
这篇文章主要介绍了java 与testng利用XML做数据源的数据驱动示例详解的相关资料,需要的朋友可以参考下2017-01-01SpringCloud Netflix Ribbon超详细讲解
这篇文章主要介绍了SpringCloud笔记HoxtonNetflix之Ribbon负载均衡,Ribbon是管理HTTP和TCP服务客户端的负载均衡器,Ribbon具有一系列带有名称的客户端(Named Client),对SpringCloud Ribbon负载均衡相关知识感兴趣的朋友一起看看吧2022-10-10
最新评论