java.sql.SQLSyntaxErrorException: Unknown column ‘XXX_XXX‘ in ‘field list‘

spring-mvc响应josn会自动将驼峰命名转下划线方式命名,如:前端传输josn格式为驼峰式questionDesc,代码如下

POST http://localhost:8080/yc/feedback/save123
Content-Type: application/json

{
  "recid": 1,
  "title": "werewrewrewrew",
  "type" : "数据库chengdu",
  "questionDesc": "wioeuroiweurouewo",
  "solution": "kjdshfkjdsfhdskfhkds",
  "status": "1",
  "createtm": "2020-09-08"
}

控制台报以下错误
java.sql.SQLSyntaxErrorException: Unknown column ‘XXX_XXX‘ in ‘field list‘_第1张图片
后台将questionDesc自动转化为“question_desc,导致更新数据库时找不到字段question_desc,实际数据库的字段为questionDesc。

解决办法:前台传送数据时不使用驼峰规则,将questionDesc改为questiondesc即可,这种是头痛医头脚痛医脚的做法;
java.sql.SQLSyntaxErrorException: Unknown column ‘XXX_XXX‘ in ‘field list‘_第2张图片
在SpringBoot项目,可以通过设置map-underscore-to-camel-case属性为true来开启驼峰功能
application.properties中:

#开启驼峰命名转换
mybatis.configuration.map-underscore-to-camel-case=true

application.yml中:

mybatis:
  configuration:
    map-underscore-to-camel-case: true

拓展:spring-mvc响应josn会自动会将驼峰修改为下划线的方式命名,这个规则和vue前端组件的转换方式是一致的

你可能感兴趣的:(myBatis介绍,java,spring,后端)