亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

mybatis-plus3.3.0自動填充方法有改變?

@Slf4j
@Component
public?class?MyMetaObjectHandler?implements?MetaObjectHandler?{

????@Override
????public?void?insertFill(MetaObject?metaObject)?{
????????log.warn("?==>?start?insert?fill?....");
????????this.strictInsertFill(metaObject,?"createTime",?LocalDateTime.class,?LocalDateTime.now());
????}

????@Override
????public?void?updateFill(MetaObject?metaObject)?{
????????log.warn("?==>?start?update?fill?....");
????????this.strictUpdateFill(metaObject,?"updateTime",?LocalDateTime.class,?LocalDateTime.now());
????}
}


正在回答

3 回答

剛才看了一下mp3.3.0 MetaObjectHandler類的源碼。strictInsertFill和strictUpdateFill是3.3.0新增的方法,它把

setInsertFieldValByName方法標識為過期方法了,并建議用strictInsertFill替代。
setUpdateFieldValByName方法也標識為過期方法了,并建議使用strictUpdateFill替代。


1 回復 有任何疑惑可以回復我~
#1

白鹿洞 提問者

謝謝老師的建議,我的寫法是否正確?
2020-01-19 回復 有任何疑惑可以回復我~
#2

老猿 回復 白鹿洞 提問者

不客氣同學,你的寫法正確。
2020-01-19 回復 有任何疑惑可以回復我~

樓上說的是正確的,3.4.1的版本(不知道之后的版本有沒有修改用法)方法需要先執行一步把原值設成NULL,現在的,原代碼中就是提示原值不為NULL則不會更新

var?ut?=?getFieldValByName("updateTime",?metaObject);
if?(ut?!=?null)?{
????metaObject?.setValue("updateTime",?null)
????//7.填充更新時間
????strictUpdateFill(metaObject,?"updateTime",?LocalDateTime::class.java,?LocalDateTime.now())
}


0 回復 有任何疑惑可以回復我~
#1

芳心縱火犯GG

我這是KOTLIN的寫法, 代碼貼入IDEA可以自動翻譯成JAVA
2021-01-16 回復 有任何疑惑可以回復我~
@Override
public?void?updateFill(MetaObject?metaObject)?{
???this.strictUpdateFill(metaObject,?"updateTime",?LocalDateTime.class,?LocalDateTime.now());
}
使用strictUpdateFill()方法,跟新數據庫中的update_time時間更新不了。

http://img1.sycdn.imooc.com//5ee6cd1900017c5518990765.jpg

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

mybatis-plus3.3.0自動填充方法有改變?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號