您好,登錄后才能下訂單哦!
這篇文章主要介紹了Mybatis-Plus3.2.0 MetaObjectHandler 無法進(jìn)行公共字段全局填充怎么辦,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
問題描述
最近在做的這個(gè)項(xiàng)目架構(gòu)組對(duì)于配置文件決定,采取的是 .xml 配置文件
一個(gè)數(shù)據(jù)中臺(tái)項(xiàng)目,因?yàn)椴渴瓠h(huán)境比較復(fù)雜,可能需要適配阿里、騰訊、開源等環(huán)境和機(jī)房,所以配置文件和啟動(dòng)類為三類
之前寫的 MetaObjectHandler 都是采用的 SpringBoot 配置方式開發(fā),突然換成 .xml 配置文件,還是有不少坑的,其中就有配置的 MetaObjectHandler 死活不起作用 ???(上火)
問題代碼
這種方式放在 平常 SpringBoot 項(xiàng)目中,一點(diǎn)毛病沒有…
@Component public class MybatisPlusObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { Date now = new Date(); Object crteTime = getFieldValByName("crteTime", metaObject); if (Objects.isNull(crteTime)) { setFieldValByName("crteTime", now, metaObject); } Object optTime = getFieldValByName("optTime", metaObject); if (Objects.isNull(optTime)) { setFieldValByName("optTime", now, metaObject); } setFieldValByName("invdFlag", TpcConstant.INVD, metaObject); } @Override public void updateFill(MetaObject metaObject) { Object optTime = getFieldValByName("optTime", metaObject); if (Objects.isNull(optTime)) { setFieldValByName("optTime", new Date(), metaObject); } } }
解決方式
將 MybatisPlusObjectHandler 類上的 @Component 去掉,換成在 .xml 中注冊(cè)
<bean class="xxx.xxx.xxx.MybatisPlusObjectHandler" id="myMetaObjectHandler"/> <bean id="globalConfiguration" class="com.baomidou.mybatisplus.core.config.GlobalConfig"> <property name="metaObjectHandler" ref="myMetaObjectHandler"/> </bean> <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean"> <!-- 注入公共字段填充處理器 --> <property name="globalConfig" ref="globalConfiguration" /> </bean>
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Mybatis-Plus3.2.0 MetaObjectHandler 無法進(jìn)行公共字段全局填充怎么辦”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。