全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-20 6 分钟 ✍️ juanwangdev

自动映射与驼峰转换

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_nameusername
create_timecreateTime
is_deletedisDeleted

全局配置示例

XML
<settings>
    <!-- 开启自动映射 -->
    <setting name="autoMappingBehavior" value="PARTIAL"/>
    <!-- 开启驼峰转换 -->
    <setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

注意:推荐开启驼峰转换,减少大量简单 resultMap 配置。

要点总结

  • autoMappingBehavior 控制自动映射级别,推荐 PARTIAL
  • mapUnderscoreToCamelCase 开启下划线到驼峰自动转换
  • 开启后可简单列名自动映射到 Java 属性
  • 减少手动 resultMap 配置,提升开发效率
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 resultMap 结果映射
下一篇 → 基本类型结果集
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码