起因

又是一个快乐的工作日,我正在愉快的敲码,忽然被测试小姐姐告知,昨天提测的系统中XX功能报以下错误在这里插入图片描述

分析

首先分析浏览器响应码为500,大体含义为服务器由于遇到错误而不能完成该请求。 (响应码500服务器i错误又可细分7种不同的情况,这里不详细赘述)
那么接下来初步判断数据应该没添加上,后端也应该报错了,咱们一条一条来看

  1. 数据库对应表最新数据查看
    在这里插入图片描述
    果然,数据没有添加上

  2. 后台报错分析
    在这里插入图片描述
    大家注意看红框中的错误提示,我用的是Mybatis-plus 框架,按理说自动生成的语句肯定是没问题的,但是还是报syntax异常,之前碰到过关键字错误,所以这里我就怀疑会不会也是关键字错误, 接下来准备在Navicat中测试下原添加语句

  3. Navicat中添加sql语句测试
    在这里插入图片描述
    describe 已经在Navicat中报蓝了,结果果然是错误的

Mysql中解决方法

  1. mysql中字段为关键字时的解决方法
    在这里插入图片描述
    解决方法就是在把关键字用反引号包裹起来,例如
`describe`

在这里插入图片描述
成功!!!

mybatis-plus中解决方法

  1. mybatis-plus中实体字段为mysql关键字时的解决方法
    在这里插入图片描述
    在关键字对应属性上加上 @TableField注解 , 那么疑问来了 @TableField 注解是什么意思呢?
    在这里插入图片描述
    @TableField("`describe`")
    private String describe;

如图 , @TableField注解的含义就是将数据库列与 JavaBean 中的属性进行映射,当然@TableField还有其他功能,这里就不过多赘述.

See you

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐