Springboot出现unknown column ‘xxx‘ in ‘field list‘解决方法

问题描述:

今天在调试新项目时,日志出现unknown column ‘paper_id‘ in ‘field list‘,这个网络请求是需要新增一条数据到指定的表里。
在这里插入图片描述

原因分析:

这个报错是说paper_id这个字段不存在,所以没法匹配上SQL字段,进行正常插入。我的排查思路如下:
1、首先排查下mapper写的SQL的字段是否与实体类的字段名字一致,注意排查大小写;
2、再排查一下数据库中的字段是否与实体类的字段名字一致,注意排查大小写;

以上两项经过排查,都没问题,字段名字都是一致的。后来网上各种查找,终于找到问题所在,原来,默认情况下,Mybatis-Plus会将Java类中的驼峰命名的字段自动映射到数据库表中的下划线命名方式,例如userName会映射成user_name。所以,由此,要么改变数据库中的命名方式,要么在Springboot中加配置修改默认映射规则,开启驼峰映射。


解决方案:

1、修改数据库中的对应字段的命名方式,如userName要改成user_name。(不推荐)
2、Springboot中加配置修改默认映射规则,开启驼峰映射。
在这里插入图片描述
后记:当我使用了第二种方法开启驼峰映射后,确实解决了问题。但是之后有一次,竟然又出现这个错误了,驼峰映射貌似失效了。崩溃。。。所有,我再次采取了第三种方式。给映射出现问题的字段加上了这个注解,就没再出问题了。

3、加注解,指定映射字段。
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值