使用MybatisPlus内置的增删改查时出现SQL错误

文章讲述了在使用MybatisPlus的增删改查方法时遇到SQL错误,原因在于表名与关键字冲突。通过在实体类上添加@TableName注解并转义表名,解决了这个问题,提醒开发者在创建表时避免使用MySQL的关键字或添加项目前缀。
摘要由CSDN通过智能技术生成

这个bug在很早前就出现了,刚好今天又出现一次,顺便记录一下。

起因:使用MybatisPlus中自带的增删改查方法时,出现了SQL错误,既然是MybatisPlus的自带方法,应该不可能出现SQL错误

boolean save = leaveService.save(leave);

经过排查,发现创建表的人将表创建成了关键字 leave,执行这个sql的时候也会出现错误

select * from leave;

解决在实体类上加上该注解,并在表名上加上反引号:``,这样使用框架时,生成的SQL的表名就会添加反引号。

@Data
@TableName("`leave`")
public class Leave implements Serializable {}

例:

select * from `leave`;

       所以我们在创建表的时候尽量不用创建成Mysql的关键字,如果不知道是不是关键字,可以在创建表的时候加上项目前缀:例如 :sys_leave

  • 19
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值