MaBatis使用`ResultMap`标签手动映射详解使用

2023-12-20 22:02:11

MaBatis使用ResultMap标签手动映射详解使用

1、MyBatis只能自动维护库表”列名“与”属性名“相同时的对应关系,二者不同时无法自动ORM,如下:

在这里插入图片描述

2、在SQL中使用 as 为查询字段添加列别名,以匹配属性名:

<select id="findAll" resultType="cn.fpl1116.pojo.Role" >
        select id, role_name as roleName, role_desc as roleDesc from role
    </select>

但是如果我们的查询很多,都使用别名的话写起来岂不是很麻烦!

3、使用ResultMap标签手动映射,解决实体字段和数据表字段不一致的问题

	<!--
        结果映射
            id="findAll2ResultMap" :resultMap标签的id,,必须唯一
            type="cn.fpl1116.pojo.Role":等价于resultType
    -->
    
    <resultMap id="findAll2ResultMap" type="cn.fpl1116.pojo.Role">
        <!--主键字段和属性的映射关系-->
        <id column="id" property="id"></id>
        <!--非主键字段和属性的映射关系-->
        <result column="role_name" property="roleName"></result>
        <result column="role_desc" property="roleDesc"></result>
    </resultMap>
    
    <!--
        resultMap:resultMap标签的id
    -->
    <select id="findAll2" resultMap="findAll2ResultMap">
        select * from role
    </select>

文章来源:https://blog.csdn.net/qq_62124267/article/details/135113121
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。