自动映射与驼峰转换
MyBatis 支持自动映射,可减少手动 resultMap 配置。
自动映射级别
XML
<settings>
<!-- NONE: 不自动映射(默认) -->
<!-- PARTIAL: 自动映射简单属性(无嵌套) -->
<!-- FULL: 自动映射所有属性(包括嵌套) -->
<setting name="autoMappingBehavior" value="PARTIAL"/>
</settings>
XML
<!-- 配置 PARTIAL 后,以下查询可自动映射 -->
<select id="selectById" resultType="com.example.entity.User">
SELECT id, username, email FROM user WHERE id = #{id}
</select>
驼峰命名转换
XML
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
配置后,数据库 user_name 自动映射到 Java username,无需手动配置 resultMap。
| 数据库列名 | Java 属性名(开启后) |
|---|---|
| user_name | username |
| create_time | createTime |
| is_deleted | isDeleted |
全局配置示例
XML
<settings>
<!-- 开启自动映射 -->
<setting name="autoMappingBehavior" value="PARTIAL"/>
<!-- 开启驼峰转换 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
注意:推荐开启驼峰转换,减少大量简单 resultMap 配置。
要点总结
- autoMappingBehavior 控制自动映射级别,推荐 PARTIAL
- mapUnderscoreToCamelCase 开启下划线到驼峰自动转换
- 开启后可简单列名自动映射到 Java 属性
- 减少手动 resultMap 配置,提升开发效率
📝 发现内容有误?点击此处直接编辑