关于Mybatisplus查询到字段无法映射的问题
问题场景:在做项目的时候遇到了一个问题:根据学号查询成绩,学号送进去,查出来成绩却都是null,通过检查后发现sql查询是成功的,值均正常。
定位到:值映射到实体上是出了问题。 后来通过寻找发现问题所在: 最初的实体类,定义如下:
@Data
public class Scores {
private Long id;
private Double math_score;
private Double java_score;
private Double eng_score;
private Double pe_score;
}
当时为了和数据库中字段对应,于是全部使用了下划线命名法,没想到这个问题竟不允许,后改成驼峰命名法:
@Data
public class Scores {
private Long id;
private Double mathScore;
private Double javaScore;
private Double engScore;
private Double peScore;
}
就这么神奇的解决了… 后来经过学习发现,MybatisPlus的默认配置中,是开启了自动将下划线转为驼峰命名的设置的,倘若不想改实体类的话,可以关掉这个配置:
mybatis-plus.configuration.map-underscore-to-camel-case=false
也是一样可以解决这个问题的。 吸取教训!
