关于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

也是一样可以解决这个问题的。 吸取教训!

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