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;

三、修复效果展示(略)

相关推荐
IronMurphy13 小时前
Redis拷打第三讲
数据库·redis·mybatis
小坏讲微服务14 小时前
SpringBoot4.0整合Spring Security+MyBatis Plus完整权限框架实现
java·spring·mybatis·spring security·mybatis plus·springboot4.0
静小谢19 小时前
sql笔记
spring boot·笔记·sql·mybatis
桔筐21 小时前
MyBatis-Plus Service/ServiceImpl/IService 核心关系
mybatis
m0_739030001 天前
mabatis-plus 和mabatis 的区别
java·数据库·mybatis
步菲1 天前
【Java泛型擦除】一次 MyBatis 返回值不一致引发的线上故障复盘
mybatis
武子康2 天前
Java-01 深入浅出 MyBatis 入门与核心原理:半自动 ORM 框架详解
java·后端·mybatis
环流_3 天前
Redis:epoll和IO多路复用
java·redis·mybatis
欢璃3 天前
表白墙案例
java·开发语言·jvm·spring boot·spring·maven·mybatis
贫民窟的勇敢爷们3 天前
SpringBoot整合MyBatis-Plus极致实战,高效实现数据库CRUD与分页条件查询
数据库·spring boot·mybatis