遇到查询数据库表中的数据,其它字段都有内容,只有其中一个字段内容为null。mysql中该字段的命名为head_url,后来查明原因是需要在Mybatis开启数据库字段自动映射为驼峰命名。
在mybatis-config.xml中设置mapUnderscoreToCamelCase
属性为true
:
<settings>
<!-- Globally enables or disables any caches configured in any mapper under this configuration -->
<setting name="cacheEnabled" value="true"/>
<!-- Sets the number of seconds the driver will wait for a response from the database -->
<setting name="defaultStatementTimeout" value="3000"/>
<!-- Enables automatic mapping from classic database column names A_COLUMN to camel case classic Java property names aColumn -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!-- Allows JDBC support for generated keys. A compatible driver is required.
This setting forces generated keys to be used if set to true,
as some drivers deny compatibility but still work -->
<setting name="useGeneratedKeys" value="true"/>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
实体类中的字段命名为headUrl(head_url, 去除下划线,后面首字母大写)。