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;

三、修复效果展示(略)

相关推荐
jokerest1236 小时前
web——sqliabs靶场——第十三关——报错注入+布尔盲注
mybatis
武子康6 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
WindFutrue9 小时前
使用Mybatis向Mysql中的插入Point类型的数据全方位解析
数据库·mysql·mybatis
AiFlutter10 小时前
Java实现简单的搜索引擎
java·搜索引擎·mybatis
天天扭码13 小时前
五天SpringCloud计划——DAY1之mybatis-plus的使用
java·spring cloud·mybatis
武子康1 天前
Java-05 深入浅出 MyBatis - 配置深入 动态 SQL 参数、循环、片段
java·sql·设计模式·架构·mybatis·代理模式
2的n次方_1 天前
MyBatis——#{} 和 ${} 的区别和动态 SQL
数据库·sql·mybatis
jokerest1232 天前
web——sqliabs靶场——第十二关——(基于错误的双引号 POST 型字符型变形的注入)
数据库·sql·mybatis
天蓝蓝235282 天前
Lucene数据写入流程
java·mybatis·lucene
shiming88792 天前
Lucene数据写入与数据刷盘机制
java·mybatis·lucene