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;

三、修复效果展示(略)

相关推荐
好好研究6 小时前
MyBatis框架 - 逆向工程
java·数据库·mybatis
o***74177 小时前
SpringBoot【十一】mybatis-plus实现多数据源配置,开箱即用!
spring boot·后端·mybatis
3***C7448 小时前
Spring Boot 集成 MyBatis 全面讲解
spring boot·后端·mybatis
r***R2898 小时前
Spring Boot3.3.X整合Mybatis-Plus
spring boot·后端·mybatis
y***61319 小时前
SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)
spring boot·tomcat·mybatis
creator_Li10 小时前
手写Redis系列:二、简单动态字符串SDS
数据库·redis·mybatis
z***33510 小时前
SpringCloud 系列教程:微服务的未来(二)Mybatis-Plus的条件构造器、自定义SQL、Service接口基本用法
spring cloud·微服务·mybatis
R***623121 小时前
Spring Boot 集成 MyBatis 全面讲解
spring boot·后端·mybatis
梅梅绵绵冰1 天前
ssm整合框架
数据库·mybatis
nbsaas-boot1 天前
JPA vs MyBatis 在大型 SaaS 架构中的使用边界
spring·架构·mybatis