返回顶部

MP异常:SQLSyntaxErrorException

org.springframework.jdbc.BadSqlGrammarException:
### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'expr_list' in 'field list'
### The error may exist in com/itheima/mapper/EmpMapper.java (best guess)
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: SELECT id,username,password,name,gender,phone,job,salary,image,entry_date,dept_id,create_time,update_time,expr_list FROM tb_emp
### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'expr_list' in 'field list'
; bad SQL grammar []


出现原因:sql语句中的字段与数据库表内的字段不一致,md使用时对应的实体类中存在了数据库中没有的属性
解决方案:在对应实体的属性上加@TableField(exist = false)

一般情况下我们并不需要给字段添加@TableField注解,一些特殊情况除外:

  • 成员变量名与数据库字段名不一致

  • 成员变量是以isXXX命名,按照JavaBean的规范,Mybatis-Plus识别字段时会把is去除,这就导致与数据库不符。

  • 成员变量名与数据库一致,但是与数据库的关键字冲突。使用@TableField注解给字段名添加转义字符:``

  • 成员变量不是数据库中的字段,则需要使用exist表明为false

posted @   zhangfff  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示