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

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

使用MybatisPlus内置的增删改查时出现SQL错误_第1张图片起因:使用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

你可能感兴趣的:(sql,java,数据库,mybatis,笔记)