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;

三、修复效果展示(略)

相关推荐
拜见老天師7 小时前
使用mybatis-plus,实现将排序时,字段值为NULL的数据排在最后
java·mybatis
superlls9 小时前
(场景题)怎么实现数据的批量插入?
笔记·mybatis
bug攻城狮1 天前
SaaS多租户架构实践:字段隔离方案(共享数据库+共享Schema)
mysql·架构·mybatis·springboot·1024程序员节
艾菜籽2 天前
MyBatis操作数据库入门
java·数据库·mybatis
不平衡的叉叉树3 天前
mybatis-plus的insertBatchSomeColumn方法实现批量插入
java·mybatis
最好结果3 天前
MyBatis 精确查询逗号分隔字符串
mysql·mybatis·1024程序员节
信仰_2739932434 天前
Mybatis一级缓存
java·缓存·mybatis
lunz_fly19925 天前
【源码解读之 Mybatis】【核心篇】--第7篇:ParameterHandler参数处理机制
mybatis
lunzi_fly5 天前
【源码解读之 Mybatis】【核心篇】--第7篇:ParameterHandler参数处理机制
mybatis
2401_837088505 天前
JedisConnectionFactory 连接池工厂类
mybatis