springboot调整MybatisPlus全局的验证策略

由于Mybatis plus默认的更新策略是NOT_NULL:非 NULL;即通过接口更新数据时数据为NULL值时将不更新进数据库。
所以Mybatis plus通过updateById(XX)更新数据,当用户有更新字段为空字符串 或者 null 的需求时,需要对 FieldStrategy 策略进行调整。

FieldStrategy 有三种策略:

  • IGNORED:0 忽略
  • NOT_NULL:1 非 NULL,默认策略
  • NOT_EMPTY:2 非空

方式一:调整全局的验证策略(修改application配置文件)

mybatis-plus:
  global-config:
    #字段策略 0:"忽略判断",1:"非 NULL 判断",2:"非空判断"
    field-strategy: 0

缺点:这样做会对所有的字段都忽略判断,如果一些字段不想要修改,但是传值的时候没有传递过来,就会被更新为null

方式二:调整字段验证注解(根据具体情况,在需要更新的字段中调整验证注解 @TableField,如忽略判断:)

    // 生日
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @DateTimeFormat(pattern = DateUtils.SHORT_TIME_FORMAT)
    @JsonFormat(pattern = DateUtils.SHORT_TIME_FORMAT, timezone = "GMT+8")
    private Date birthday;

原文地址:https://www.cnblogs.com/jiefu/p/12501460.html

时间: 2024-10-18 11:44:26

springboot调整MybatisPlus全局的验证策略的相关文章

springboot+druid+mybatis-Plus 配置详解

网上找了很多关于springboot+druid+mybatis-Plus的配置,遇见的很多问题 也没找到好的解决方案.折腾了好几天终于自己配置通过了. springboot的pom文件 1 <parent> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-parent</artifactId> 4 <version>2.0

(八)SpringBoot使用mybatis-plus+自动代码生成

一.SpringBoot使用mybatis-plus+自动代码生成 使用mybatis-plus可以自动帮我们生成通用的 controller,service,dao,mapper 二.加入依赖 <!-- mybatisplus与springboot整合 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatisplus-spring-boot-starter</

SpringBoot 整合 MyBatis-Plus 入门体验

一.前言 本文小编将基于 SpringBoot 整合 MyBatis-Plus , MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上做增强并且不改变原本功能 ~ 二.SpringBoot整合MyBatis-Plus 基本环境 spring-boot 2.1.8 mybatis-plus 2.2.0 mysql 5.7.24 maven项目 1.pom.xml中引入MyBatis-Plus相关依赖 下面直接贴出小编的整个文件内容以作参考,避免因为部分细节缺

SpringBoot+Mybatis+MybatisPlus整合实现基本的CRUD操作

SpringBoot+Mybatis+MybatisPlus整合实现基本的CRUD操作 1> 数据准备 -- 创建测试表 CREATE TABLE `tb_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `user_name` varchar(20) NOT NULL COMMENT '用户名', `password` varchar(20) NOT NULL COMMENT '密码', `name` varchar

mysql57的密码验证策略

本文转自:https://www.cnblogs.com/ivictor/p/5142809.html ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 报错原因 为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log. 一般可通过log_error

我这么玩Web Api(二):数据验证,全局数据验证与单元测试

目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试   一.模型状态 - ModelState 我理解的ModelState是微软在ASP.NET MVC中提出的一种新机制,它主要实现以下几个功能: 1. 保存客户端传过来的数据,如果验证不通过,把数据返回到客户端,这样可以保存用户输入,不需要重新输入. 2. 验证数据,以及保存数据对应的错误信息. 3. 微软的一种DRY(Don't Repeat

浅析 天涯论坛 回复验证策略

对于现在 POST 技术满天飞的时代,防机器人确实是很头疼的一件事情,类似流量精灵这样的东西,他可以做到 100% 的真实信息,大批量的访问.当然今天不谈这些,只是分析下 天涯论坛 回复时的验证策略. 昨天谈到 packer 压缩,今天我们来看个实例吧.http://bbs.tianya.cn/m/reply.jsp?item=funinfo&id=4339425这个是天涯论坛手机端的回复帖子页面,里面有一个关于回复验证的js,就是用的 packer压缩.http://static.tianya

springboot编程之全局异常捕获

springboot编程之全局异常捕获 1.创建GlobalExceptionHandler.java,在类上注解@ControllerAdvice, 在方法上注解@ExceptionHandler(value = Exception.class),Exception.class表示拦截所有的异常信息 package com.imooc.web.controller; import com.imooc.exception.UserNotExistException; import org.spr

SpringBoot集成MybatisPlus报错

SpringBoot集成MybatisPlus报错 启动的时候总是报如下错误: java.lang.annotation.AnnotationFormatError: Invalid default: public abstract java.lang.Class 解决方案 需要一个mybatis-spring-boot-starter的包,在pom文件加上之后,完美解决. <dependency> <groupId>org.mybatis.spring.boot</grou