1.驼峰式命名开关,或者不开,数据库列和字段名全一致。
<settings>
<!-- 开启驼峰,开启后,只要数据库字段和对象属性名字母相同,无论中间加多少下划线都可以识别 -->
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
阅读源码发现直接是name = name.replace("_", “”);
caseInsensitivePropertyMap.get(name.toUpperCase(Locale.ENGLISH));
比较是大小写不敏感的。
2.Select时指定AS。
3.resultMap 最稳健。
总结:自己的项目中 老大都是用resultMap
并没有开启驼峰开关,因为 会忽略大小写, 但是懒得写resultMap了 那我就用as 来替代了
下面是实例代码
<select id="getApprovalNumberList" resultType="com.hy.store.comm.model.dto.message.MessApprovalNumberDTO">
SELECT id, approval_number AS approvalNumber, approval_number_effective_date AS approvalNumberEffectiveDate
FROM hy_store_goods
WHERE
is_delete = 0
</select>