在mybatis-plus中,默认开启了下滑线-驼峰转换会把数据库字段中的下划线自动转换成驼峰形式,然后去匹配实体类对象的字段
因此使用时数据库中的字段需要为下划线风格,项目中的实体类定义需要为小驼峰命名风格。
如果整个项目的数据库都不是下划线风格的字段命名,可以将Mybatis自带的驼峰转换关闭。然后使用@TableField注解去指定映射关系。
@Data
@TableName(value = "netdisk_file" , autoResultMap = true)
public class FileBean implements Serializable {
private static final long serialVersionUID= 1L;
@TableId(type = IdType.AUTO)
@TableField(value = "fileId")
private String fileId;
@TableField(value = "fileUrl")
private String fileUrl;
@TableField(value = "fileStatus")
private Integer fileStatus;
}
mybatis-plus:
configuration:
map-underscore-to-camel-case: false
如果因为某些原因无法关闭驼峰转换,在查询时可以自定义查询列名来缓解这个问题。
QueryWrapper<FileBean> queryWrapperFB = new QueryWrapper<>();
queryWrapperFB.eq("fileId", fileId);
queryWrapperFB.select("fileId", "fileUrl"); // 指定数据库中的列名
FileBean fileBean = fileMapper.selectOne(queryWrapperFB);