Mybatis-Plus實(shí)現(xiàn)只更新部分字段的數(shù)據(jù)
Mybatis-Plus只更新部分字段數(shù)據(jù)
1、通過UpdateWrapper修改指定的列
update 時(shí)傳入 null 是關(guān)鍵
重點(diǎn)語句:updateWrapper.set(“SESSION_KEY”, “abc”);
this.mapper.update(null, wrapperUpdate);
2、使用場景和案例
使用版本:3.0.4
UpdateWrapper updateWrapper = new UpdateWrapper(); updateWrapper.eq("id", 1); updateWrapper.set("status", ?1); updateWrapper.set("nickname", ?"張三"); baseMapper.update(null, updateWrapper);
Mybatis-Plus更新字段問題
mybatis更新為 null的對象 ,需設(shè)置 :
spring-boot設(shè)置
mybatis-plus.global-config.db-config.field-strategy=ignored
屬性設(shè)置有4種策略
public enum FieldStrategy { ? ? IGNORED, ? ? ? #忽略判斷 ? ? NOT_NULL, ? ? ?#非 null 判斷 ? ? NOT_EMPTY, ? ? # 非空判斷 ? ? DEFAULT; ? ? ? private FieldStrategy() { ? ? } }
設(shè)置為忽略判斷之后 ,用查詢方法 :
public List<T> list(Wrapper<T> queryWrapper) { ? ? return this.baseMapper.selectList(queryWrapper); }
則查詢時(shí)候 :
SELECT id,level_code,scale,rate,interest,expire_date,factor_day,product_id,create_by,create_time,update_by,update_time,version,enable,remark FROM 表 WHERE level_code=null AND scale=null AND rate=null AND interest=null AND expire_date=null AND factor_day=null AND product_id=80 AND create_by=null AND create_time=null AND update_by=null AND update_time=null AND version=null AND enable=null AND remark=null
在mybatis-plus 3.1.2之后,fieldStrategy已被棄用 ,可以分別設(shè)置 :
selectStrategy(since 3.1.2) updateStrategy(since 3.1.2) insertStrategy(since 3.1.2)
官方文檔 : https://mp.baomidou.com/config/#logicdeletevalue
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Event?Sourcing事件溯源模式優(yōu)化業(yè)務(wù)系統(tǒng)
這篇文章主要為大家介紹了Event?Sourcing事件溯源模式優(yōu)化業(yè)務(wù)系統(tǒng)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07SpringBoot整合ip2region實(shí)現(xiàn)使用ip監(jiān)控用戶訪問城市的詳細(xì)過程
這篇文章主要介紹了SpringBoot整合ip2region實(shí)現(xiàn)使用ip監(jiān)控用戶訪問城市,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07Java BufferedWriter BufferedReader 源碼分析
本文是關(guān)于Java BufferedWriter ,BufferedReader 簡介、分析源碼 對Java IO 流深入了解,希望看到的同學(xué)對你有所幫助2016-07-07Java+MyBatis+MySQL開發(fā)環(huán)境搭建流程詳解
Java的MyBatis框架提供了強(qiáng)大的數(shù)據(jù)庫操作支持,這里我們先在本地的開發(fā)環(huán)境中上手,來看一下Java+MyBatis+MySQL開發(fā)環(huán)境搭建流程詳2016-06-06Java源碼深度分析String與StringBuffer及StringBuilder詳解
當(dāng)對字符串進(jìn)行修改的時(shí)候,需要使用?StringBuffer?和?StringBuilder類,和String類不同的是,StringBuffer和?StringBuilder類的對象能夠被多次的修改,并且不產(chǎn)生新的未使用對象,本篇我們來分析分析它們的源碼2022-05-05