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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~