【MybatisPlus】表名或字段名是Mysql关键字如何解决

一、问题描述

表名order和字段名key是Mysql数据库的关键字,数据库操作全部失败

二、问题解决

1、如果是表名

给实体类打上@TableName注解,加上``就好了,采用配置自己规定表名,不使用默认配置,如图:

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("`order`")
public class Order implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

}

2、如果是字段名

将生成的实体加上``处理

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("`order`")
public class Order implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField(value = "`key`")
    private String key;

}
经验分享 程序员 微信小程序 职场和发展