MyBatis的ORM映射

什么是ORM映射?

MyBatis只能自动维护数据表的“列名”与java类的“属性名”相同时的对应关系,二者不同时无法自动实现ORM映射,比如:

列的别名

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

public List<Role> selectAll();
<select id = "selectAll" resultType = "com.hh.pojo.Role">
        select id, role_name as roleName, role_desc as roleDesc from role
</select>

但是,如果我们要查询的有很多,使用别名就会显得很麻烦,这就说到了结果映射的作用!

结果映射

我们需要使用ResultMap标签手动进行映射,解决实体字段和数据表字段的不一致问题

public List<Role> selectAll2();
<!--
        id:和select查询标签的返回值保持一致
        type:映射实体的全类名
-->

<resultMap id = "selectAll2ResultMap" type = "com.hh.pojo.Role">

<!--
         描述主键字段的映射关系:
            property:实体类的属性
            column:数据库表的字段名称   
-->

<id property = "id" column = "id" />

<!--
         描述非主键字段的映射关系:
            property:实体类的属性
            column:数据库表的字段名称   
-->

<result property = "roleName" column = "role_name" />
<result property = "roleDesc" column = "role_desc" />

</resultMap>

<select id = "selectAll2" resultMap = "selectAll2ResultMap">
        select * from role
</select>

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值