您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“mybatis plus如何更新字段為null”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“mybatis plus如何更新字段為null”吧!
mybatis plus 將字段更新為 null,默認如果不做任何處理,使用 mybatis plus 自帶的更新方法是不能將字段更新為 null 的,如果要將字段更新為 null,需要做下面的處理
在需要的字段上加 @TableField 注解,并設(shè)置屬性
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”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。