MyBatis-Plus 实体类字段与数据库关键字冲突解决方案
在使用 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` 字段标记为数据库字段名,这样就可以避免和关键字冲突。
同时,还可以通过配置 globalConfig 的 dbColumnUnderline 属性为 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。这样也可以避免与数据库关键字冲突。
原文地址: https://www.cveoy.top/t/topic/pV4k 著作权归作者所有。请勿转载和采集!