mybatis plus更新字段为null处理方法 |
您所在的位置:网站首页 › mybatis更新字段为null › mybatis plus更新字段为null处理方法 |
目录测试代码如下数据库表实体类mappercontroller运行测试运行测试 mybatis plus 将字段更新为 null,默认如果不做任何处理,使用 mybatis plus 自带的更新方法是不能将字段更新为 null 的,如果要将字段更新为 null,需要做下面的处理 在需要的字段上加 @TableField 注解,并设置属性 updateStrategy = FieldStrategy.IGNORED 测试代码如下 数据库表 实体类 package com.sbmp.bean; import java.time.LocalDate; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; @Data public class Userinfo { /** * 主键id */ @TableId(type = IdType.AUTO) private Integer id; /**| * 姓名 */ private String name; /** * 生日 */ private LocalDate birthday; } mapper package com.sbmp.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.sbmp.bean.Userinfo; public interface UserinfoMapper extends BaseMapper{ } controller package com.sbmp.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.sbmp.bean.Userinfo; import com.sbmp.mapper.UserinfoMapper; @RestController public class UserinfoController { @Autowired private UserinfoMapper userinfoMapper; @RequestMapping("/info") public String info() { Userinfo info = new Userinfo(); info.setId(1); info.setBirthday(null); info.setName("薛宝钗"); userinfoMapper.updateById(info); return "成功"; } } 运行测试看能不能将薛宝钗的生日更新为空 看打印的 sql 是没有birthday = null 的拼接的,这就是默认的情况 如果想拼接 birthday = null,需要在 birthday 字段上添加这个配置 @TableField(updateStrategy = FieldStrategy.IGNORED) 修改后的代码如下 package com.sbmp.bean; import java.time.LocalDate; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; @Data public class Userinfo { /** * 主键id */ @TableId(type = IdType.AUTO) private Integer id; /**| * 姓名 */ private String name; /** * 生日 */ @TableField(updateStrategy = FieldStrategy.IGNORED) private LocalDate birthday; } 运行测试这次 birthday = null 成功更新 @TableField 部分属性说明 看官方文档 updateStrategy 处理更新的情况;同理,添加的时候使用 insertStrategy; 涉及where条件处理使用 whereStrategy FieldStrategy 说明 以上就是mybatis plus更新字段为null处理方法的详细内容,更多关于mybatis plus更新字段为null的资料请关注脚本之家其它相关文章! 您可能感兴趣的文章:Mybatis-Plus使用updateById()、update()将字段更新为nullmybatis-plus更新字段为null的处理方式使用mybatis-plus想要修改某字段为null问题 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |