在使用 MyBatis-Plus 时,如果实体类字段有数据库关键字,可以通过在实体类字段上使用 @TableField 注解来指定数据库字段名,以避免与关键字冲突。

例如,如果实体类中有一个字段名为 group,而 group 是 MySQL 数据库的关键字,可以在该字段上添加 @TableField 注解,指定数据库字段名为 group

import com.baomidou.mybatisplus.annotation.TableField;

public class MyEntity {
    @TableField(value = '`group`')
    private String group;
    
    // 其他字段和方法
}

在这个例子中,通过在 @TableField 注解的 value 属性中使用反引号()将 group` 字段标记为数据库字段名,这样就可以避免和关键字冲突。

同时,还可以通过配置 globalConfigdbColumnUnderline 属性为 true,将实体类字段名的驼峰命名方式转换为下划线命名方式,避免与数据库关键字冲突。

import com.baomidou.mybatisplus.core.config.GlobalConfig;

public class MybatisPlusConfig {
    @Bean
    public GlobalConfig globalConfig() {
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setDbColumnUnderline(true);
        return globalConfig;
    }
}

通过这种方式,在实体类中使用驼峰命名方式的字段,例如 groupId,会自动转换为下划线命名方式的数据库字段名,例如 group_id。这样也可以避免与数据库关键字冲突。

MyBatis-Plus 实体类字段与数据库关键字冲突解决方案

原文地址: https://www.cveoy.top/t/topic/pV4k 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录