欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Mybatis-plus中更新date類(lèi)型數(shù)據(jù)遇到的坑

 更新時(shí)間:2020年10月15日 09:59:48   作者:愛(ài)釣魚(yú)的Java  
這篇文章主要介紹了詳解Mybatis-plus中更新date類(lèi)型數(shù)據(jù)遇到的坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

最近一年的項(xiàng)目都是在使用Mybatis-plus,感覺(jué)挺好用的,也沒(méi)遇到很多問(wèn)題,但是在最近項(xiàng)目上線之后,遇到了一些新的需要,在進(jìn)行新版本開(kāi)發(fā)的時(shí)候就開(kāi)始遇到坑了,今天來(lái)說(shuō)一下更新數(shù)據(jù)中有date類(lèi)型數(shù)據(jù)的時(shí)候會(huì)出現(xiàn)的問(wèn)題。

實(shí)體類(lèi)部分字段如下:

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProductPo implements Serializable {
 /**
   * 產(chǎn)品主鍵,自增
   */
  private Long prdId;
  /**
   * 名稱
   */
  private String prdName;
  /**
   * 價(jià)格
   */
  private Bigdecimal prdPrice;
  /**
   * 上市日期
   */
  private LocalDate listingDate;
  /**
   * 創(chuàng)建時(shí)間
   */
  private LocalDateTime createTime;
  /**
   * 修改時(shí)間
   */
  private LocalDateTime updateTime;
}

如果在更新的時(shí)候,將上市日期(listingDate)由之前的“2020-07-16”更新為null:

ProductPo po = ProductPo.builder.prdId(request.getPrdId).listingDate(null).updateTime(now(3)).build;

更新語(yǔ)句分為兩種,第一種:

Integer rows = prdMapper.update(po, Wrappers.<ProductPo>lambdaUpdate().eq(ProductPo::getPrdId, request.getPrdId()));

第二種:

Integer rows = prdMapper.updateById(po);

這個(gè)時(shí)候你會(huì)發(fā)現(xiàn),上市日期(listingDate)并沒(méi)有被更新為空;有可能是因?yàn)樵诟碌臅r(shí)候,mybatis-plus將date類(lèi)型為空的時(shí)候過(guò)濾掉了。

解決方法一:在字段上面加標(biāo)簽,不進(jìn)行空判斷過(guò)濾

@TableField(strategy = FieldStrategy.IGNORED)
private LocalDate listingDate;

解決方法二:在yml配置文件中進(jìn)行全局配置

#mybatis-plus mapper包掃描地址
mybatis-plus:
 mapper-locations: classpath*:mapper/*/*.xml,classpath*:mapper/*.xml
 config-location: classpath:/mybatis-config.xml
 global-config:
  db-config:
   field-strategy: ignored

此處是對(duì)所有的操作都進(jìn)行過(guò)濾,在官網(wǎng)上還有:insertStrategy,updateStrategy和selectStrategy,可以根據(jù)自己需要進(jìn)行設(shè)置。
我個(gè)人還是選擇了第一種解決方案,因?yàn)檫M(jìn)行全局配置的時(shí)候,必須保證每次的傳參都是全的,要不然會(huì)將數(shù)據(jù)置空或者沒(méi)有將必填字段傳值的時(shí)候會(huì)報(bào)錯(cuò)。

到此這篇關(guān)于詳解Mybatis-plus中更新date類(lèi)型數(shù)據(jù)遇到的坑的文章就介紹到這了,更多相關(guān)Mybatis-plus更新date類(lèi)型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論