持续更新中......
========================================
1.mapUnderscoreToCamelCase
是否开启驼峰命名自动映射,即从经典数据库列名 A_COLUMN 映射到经典 Java 属性名 aColumn。
默认 false 未开启
可能产生的问题:
使用mybatis, mapper.xml中这么查询,使用resultType做结果接收
<select id="selectSimpleInfo" parameterType="com.XXX.YYY.dao.query.SimpleQuery"
resultType="com.XXX.YYY.dao.domain.SimpleInfoDO">
select
sbi.p_id,
sbi.p_status,
sbi.p_name
from
simple_base_info sbi
</select>
mapper.java如下:
List<SimpleInfoDO> selectSimpleInfo(SimpleQuery simpleQuery);
结果类如下:
@Getter
@Setter
public class SimpleInfoDO implements Serializable {
private static final long serialVersionUID = 8085984502888334680L;
private Long pId;
private String pName;
private Integer pStatus;
}
但是查询返回结果如下:
问题根源:
如果这里采用resultMap,做出参映射,是手动会把mysql对应列 和 DO对应属性 映射起来,但是这里采用resultType ,如果没有开启下划线转驼峰的配置,就会导致映射失败。
因此需要mybatis配置开启该配置:
mybatis:
mapper-locations: "classpath*:mapper/*.xml"
configuration:
use-generated-keys: true
map-underscore-to-camel-case: true
2.