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>
本文探讨MyBatis中驼峰命名规则的使用及其局限性,特别是在数据库字段与对象属性映射时的大小写不敏感问题。通过对比Select时指定AS和使用ResultMap的方法,详细介绍了如何在项目中有效应用这些技术,以提高代码的可读性和维护性。
777

被折叠的 条评论
为什么被折叠?



