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

浙公网安备 33010602011771号