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。
推薦閱讀:
- springboot 2.0 mybatis mapper-locations掃描多個路徑的實現
- Mybatis控制臺打印SQL語句的兩種方式實現
- mybatis中mapper-locations的作用
- 解決SpringBoot整合MybatisPlus分模塊管理遇到的bug
- mybatis-plus無法通過logback-spring輸出的解決方法