今天在学习Mybatis中遇到一个问题,如图:


通过sql语句的执行可以看到有两条结果,
这个是mapper包下的注解查询语句
在测试类中执行:

发现这几个字段下的数据是null

但是通过sql语句执行是非空的

在网上搜索,是数据库字段名字和pojo里的属性名不匹配,需要将下划线开头转化为驼峰命名


mybatis提供了一个配置:
mybatis.configuration.map-underscore-to-camel-case=true
使用该配置可以让mybatis自动将SQL中查出来的带下划线的字段,转换为驼峰标志,再去匹配类中的属性。

再次运行,问题解决,数据正确输出

SpringBoot中mybatis配置自动转换驼峰标识没有生效 - 剑握在手 - 博客园 (cnblogs.com) 问题解决链接
作者在学习Mybatis时遇到查询结果中部分字段为null的问题,经排查发现是由于数据库字段名与Pojo属性名不匹配(下划线命名与驼峰命名)。通过设置mybatis的map-underscore-to-camel-case配置,使Mybatis能自动转换字段名,最终解决了问题。
792





