全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-20 8 分钟 ✍️ juanwangdev

resultMap 结果映射

resultMap 用于处理数据库列名与 Java 属性名不一致、复杂对象映射等场景。

基础映射

XML
<resultMap id="BaseResultMap" type="com.example.entity.User">
    <id column="user_id" property="id"/>
    <result column="user_name" property="username"/>
    <result column="user_email" property="email"/>
</resultMap>

<select id="selectById" resultMap="BaseResultMap">
    SELECT user_id, user_name, user_email FROM user WHERE user_id = #{id}
</select>
元素说明
id主键映射,提升性能(内部缓存使用)
result普通列映射
column数据库列名
propertyJava 属性名

继承与复用

XML
<!-- 基础 resultMap -->
<resultMap id="BaseResultMap" type="com.example.entity.User">
    <id column="id" property="id"/>
    <result column="username" property="username"/>
</resultMap>

<!-- 继承基础 resultMap -->
<resultMap id="ExtendedResultMap" type="com.example.entity.User" extends="BaseResultMap">
    <result column="email" property="email"/>
    <result column="phone" property="phone"/>
</resultMap>

关联对象映射

XML
<resultMap id="UserWithRoleMap" type="com.example.entity.User">
    <id column="id" property="id"/>
    <result column="username" property="username"/>
    <association property="role" javaType="com.example.entity.Role">
        <id column="role_id" property="id"/>
        <result column="role_name" property="roleName"/>
    </association>
</resultMap>

注意:association 用于一对一关联,collection 用于一对多关联。

要点总结

  • resultMap 处理列名与属性名不一致问题
  • id 元素用于主键映射,result 用于普通列
  • resultMap 可通过 extends 继承复用
  • association 用于一对一关联映射

📝 发现内容有误?点击此处直接编辑

← 上一篇 update 更新语句
下一篇 → 单参数传递
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库