本篇内容主要讲解“mybatis plus如何更新字段为null”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mybatis plus如何更新字段为null”吧!
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; }
package com.sbmp.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.sbmp.bean.Userinfo; public interface UserinfoMapper extends BaseMapper<Userinfo>{ }
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”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。