mysql表字段含关键字执行sql报错的解决方案
作者:chj2013
在使用MyBatisPlus和MySQL时,遇到SQL查询错误,尝试使用反引号括起关键字字段和在实体类属性上使用反引号注解都不奏效,后来发现,使用MyBatisPlus增强语法拼写的SQL时,不会使用到XML中的语句,因此需要修改实体类上引用的字段名
问题
mybatisplus+mysql执行sql查询时报以下错误:
line 1:43 no viable alternative at input 'SELECTCOUNT(*)FROM(SELECTid,code,name,key' at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:440)
at com.sun.proxy.$Proxy123.selectList(Unknown Source)
尝试
1、在sql语句中对关键字字段使用反引号(`)括起来,不起作用
2、在实体类属性注解上,对字段名使用反引号(`)括起来@TableField("`key`"),有效
查询使用了mybatisplus增强语法拼写的sql,没有使用到xml中的语句,所以需要修改实体类上引用的字段名
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
