mybatis-plus 表字段存在关键字的处理办法
当数据库表中字段出现关键字时,若不做其他处理,mybatis-plus的BaseMapper并不会做其他的处理,最终导致SQL执行时,抛出SQL 语法错误。应用mybatis-plus提供的注解–TableField,就可以很方便的解决此问题。注意:需要在value值里,特别的加上字段’'号。
·
一、问题复现
当数据库表中字段出现关键字时,若不做其他处理,mybatis-plus的BaseMapper并不会做其他的处理,最终导致SQL执行时,抛出SQL 语法错误。示例如下:
- Java查询语句
QueryWrapper<User> userQuery = new QueryWrapper<>();
userQuery.lambda().isNull(User::getDeletedAt)
.like(User::getCnName, keyword);
List<User> users = userMapper.selectList(userQuery);
- 异常信息
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,remarks
二、处理办法
应用mybatis-plus提供的注解–TableField,就可以很方便的解决此问题。示例如下:
注意:需要在value值里,特别的加上字段’'号
@TableField(value = "`key`")
private String key;
三、修复效果展示(略)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)