Mybatis-plus常見的坑@TableField不生效問題

Mybatis-plus的坑@TableField不生效

事件回歸

實體類定義字段中是帶下劃線的

sql中字段也是帶下劃線的

mybatiplus默認是打開自動轉換下劃線  所以導致字段為null   

  • @TableField(value="字段名") 這個註解並不生效  
mybatis-plus: 
#mapper掃描
  mapper-locations: classpath*:mapper/**/*.xml
  configuration:
  # 關閉自動駝峰轉換
    map-underscore-to-camel-case: false
  # 打印sql
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

@TableField失效的幾種情況總結 

總結

1、隻加瞭@TableField,沒有實現MetaObjectHandler

2、MetaObjectHandler實現類沒有加到spring容器中

在這裡插入圖片描述

3、被@TableField標記的字段,沒有get、set方法

4、被@TableField標記的字段的類型,與綁定時傳入的類型不一致,比如字段類型為String,傳入Integer,這種情況會失效

後記

我覺得mybatis plus在字段綁定這裡做的有點不友好,隻按照正確邏輯處理,沒有增加錯誤反饋、以及反例報錯

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: