Mybatis-plus常见的坑@TableField不生效问题
短信预约 -IT技能 免费直播动态提醒
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在字段绑定这里做的有点不友好,只按照正确逻辑处理,没有增加错误反馈、以及反例报错
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341