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容器中

Mybatis-plus常见的坑@TableField不生效问题_第1张图片

3、被@TableField标记的字段,没有get、set方法

4、被@TableField标记的字段的类型,与绑定时传入的类型不一致,比如字段类型为String,传入Integer,这种情况会失效

后记

我觉得mybatis plus在字段绑定这里做的有点不友好,只按照正确逻辑处理,没有增加错误反馈、以及反例报错

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(Mybatis-plus常见的坑@TableField不生效问题)