MySql字段名为关键字,怎么办?

使用Mybatis-Plus查询的时候出现错误

报错信息

org.springframework.jdbc.BadSqlGrammarException: 
### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key,updated_at,desc FROM wycms_category WHERE id=1' at line 1
### The error may exist in com/wycms/category/dao/CategoryDao.java (best guess)
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: SELECT id,template,image,content_template,module,title,content,created_at,path,hide,pagesize,`name`,alias,seq,key,updated_at,desc FROM wycms_category WHERE id=?
### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key,updated_at,desc FROM wycms_category WHERE id=1' at line 1
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key,updated_at,desc FROM wycms_category WHERE id=1' at line 1

可以看到有两个字段key,desc和sql语句关键字冲突,

解决思路:

在mysql中我们可以通过添加单引号解决

SELECT id,template,image,content_template,module,title,content,created_at,path,hide,pagesize,`name`,alias,seq,'key',updated_at,'desc' FROM wycms_category WHERE id=1

这样就解决了.

在mybatis-plus中我们可以通过向实体表中添加注解的方式:

@TableField("`字段名`")

问题解决.

记录每一次踩坑,如有不足希望指出.

你可能感兴趣的:(踩坑记录,mysql,mybatis,java)