Mybatis-plus常见的坑@TableField不生效问题
作者:呆猫iii
这篇文章主要介绍了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在字段绑定这里做的有点不友好,只按照正确逻辑处理,没有增加错误反馈、以及反例报错
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。