mybatis-plus查询字段中含有关键词时异常的问题及解决方案

 更新时间:2026年01月04日 08:56:37   作者:TTc_  
本文主要介绍了在使用MyBatis-Plus进行数据库操作时,遇到字段名与SQL关键字冲突的问题,通过分析和解决过程,作者发现是由于实体类中字段名与SQL关键字一致导致的错误,解决方法是在实体类中使用@TableField注解,并在字段名前后加上反引号(``),以避免SQL解析错误

问题分析思路

1.用自动生成代码工具生成的增删改查代码,发现都用不了

报错原因都是sql错误。

2.然后我就把日志打印生成的sql复制到数据库去执行 发现也查询不出来,会像下面这样

3.查询报错了,我就改变了如下的查询方式,用select * 查出来了记录,说明还是上面的sql有问题

4.定位问题以后,知道是sql的问题,我就看字段发现有一个大写的字段好像是关键字,于是我就加上了反引号 `order`去查询就成功了。

5.由于查询语句是从日志打印里面copy出来的,所以就断定肯定也是同样的问题导致的原因,此时我也断定问题就在这里,就去网上找到了加上反引号的注解

@TableField("`order`")

也算是学习到了新的注解用法,原来只知道

@TableField(value = "false")

这种用法

解决办法

在实体类上加上注解并加上反引号

总结

是由于查询的时候mybatiplus不能识别你的字段是否为关键字,这是需要你手动在创建实体类的时候在关键字字段的上面加上注解@TableField("`order`")用反引号包起来。

这个反引号里面的order是一个关键字,包起来就可以解决了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java中extends与implements的区别浅谈

    java中extends与implements的区别浅谈

    java中extends与implements的区别浅谈,需要的朋友可以参考一下
    2013-03-03
  • Java HashSet(散列集),HashMap(散列映射)的简单介绍

    Java HashSet(散列集),HashMap(散列映射)的简单介绍

    这篇文章主要介绍了Java HashSet(散列集),HashMap(散列映射)的简单介绍,帮助大家更好的理解和学习Java集合框架的相关知识,感兴趣的朋友可以了解下
    2021-01-01
  • 简单介绍Java网络编程中的HTTP请求

    简单介绍Java网络编程中的HTTP请求

    这篇文章主要介绍了简单介绍Java网络编程中的HTTP请求,需要的朋友可以参考下
    2015-09-09
  • 解决dubbo启动报服务注册失败Failed to register dubbo

    解决dubbo启动报服务注册失败Failed to register dubbo

    这篇文章主要介绍了解决dubbo启动报服务注册失败Failed to register dubbo问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Struts2的配置文件方法小结

    Struts2的配置文件方法小结

    最近正在学习Struts2,在配置文件中遇到好多标签,各种意义不同。下面这篇文章就来给大家介绍关于Struts2配置文件的相关资料,文中通过图文介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧。
    2018-04-04
  • java中循环删除list中元素的方法总结

    java中循环删除list中元素的方法总结

    下面小编就为大家带来一篇java中循环删除list中元素的方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Java插件扩展机制之SPI案例讲解

    Java插件扩展机制之SPI案例讲解

    这篇文章主要介绍了Java插件扩展机制之SPI案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • Java线性表的顺序表示及实现

    Java线性表的顺序表示及实现

    这篇文章主要介绍了Java线性表的顺序表示及实现,顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中
    2022-07-07
  • SpringBoot动态修改日志级别的操作

    SpringBoot动态修改日志级别的操作

    这篇文章主要介绍了SpringBoot动态修改日志级别的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 一文搞懂Java MD5算法的原理及实现

    一文搞懂Java MD5算法的原理及实现

    MD5信息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。本文将详解MD5算法的原理及实现,感兴趣的可以了解一下
    2022-06-06

最新评论