mybatis-plus 表字段存在关键字的处理办法

一、问题复现

当数据库表中字段出现关键字时,若不做其他处理,mybatis-plus的BaseMapper并不会做其他的处理,最终导致SQL执行时,抛出SQL 语法错误。示例如下:

  • Java查询语句
java 复制代码
 QueryWrapper<User> userQuery = new QueryWrapper<>();
 userQuery.lambda().isNull(User::getDeletedAt)
         .like(User::getCnName, keyword);
 List<User> users = userMapper.selectList(userQuery);
  • 异常信息
java 复制代码
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值里,特别的加上字段''号

java 复制代码
    @TableField(value = "`key`")
    private String key;

三、修复效果展示(略)

相关推荐
ren049185 小时前
Spring Framework、SpringBoot、Mybatis、Freemarker
spring boot·spring·mybatis
Predestination王瀞潞6 小时前
Mapper接口与XML映射文件的绑定机制(Mapper接口的动态代理实现机制)
xml·java·mybatis
那我掉的头发算什么7 小时前
【Linux】Linux基本使用和程序部署
linux·运维·服务器·数据库·spring·mybatis
05大叔15 小时前
Mybatis-Plus
java·开发语言·mybatis
Predestination王瀞潞15 小时前
缓存机制:一二级缓存
spring·缓存·mybatis
Accerlator16 小时前
Redis 学习
redis·学习·mybatis
Predestination王瀞潞16 小时前
SQL 片段的提取与复用机制
java·sql·mybatis
jioulongzi16 小时前
mybatis映射mysql_json字段, 自定义typehandler返回null
mysql·json·mybatis
老赵全栈实战4 天前
【每日一技MyBatis trim标签核心用法
java·mybatis·orm
莫寒清14 天前
Mybatis的插件原理
面试·mybatis