勿谓今日不学而有来日,勿谓今年不学而有来年。
日月逝矣,岁不我延。

Mybatis的关系映射

一对一关系

Orde类中的User属性需要在resultMap中使用association声明:

association有两个属性:

  • property:Order中的User属性
  • javaType:数据类型,支持别名

注意:关联映射是resultMap中要完整的映射整个实体

<!--resultMap的一对一关联-->
<resultMap id="OrderUserMap" type="cn.llanc.pojo.Order">
    <!--映射主键-->
    <id property="id" column="id" />
    <!--普通字段-->
    <result property="userid" column="user_id"/>
    <result property="number" column="number"/>
    <result property="createtime" column="createtime"/>
    <result property="note" column="note"/>
    <!--一对一关系-->
    <!--association
        property:Order中的User属性
        javaType:数据类型,支持别名
    -->
    <association property="user" javaType="cn.llanc.pojo.User">
        <id property="id" column="user_id"/>
        <result property="name" column="name"/>
        <result property="sex" column="sex"/>
        <result property="age" column="age"/>
    </association>
</resultMap>

多对一关联关系

User类中的Order属性需要在resultMap全字段映射

多对一关联关系主要的区别在于实体对象的映射

collection区别于association也有两个属性:

  • property:用户的Order属性
  • ofType:数据类型
<!--一对多映射-->
<resultMap id="UserOrderMap" type="user">
    <id property="id" column="user_id"/>
    <result property="name" column="name"/>
    <result property="sex" column="sex"/>
    <result property="age" column="age"/>
    <!--collection 配置一对多关联
        property:用户的Order属性
        ofType:数据类型
    -->
    <collection property="order" ofType="order">
        <id property="id" column="id" />
        <result property="userid" column="user_id"/>
        <result property="number" column="number"/>
        <result property="createtime" column="createtime"/>
        <result property="note" column="note"/>
    </collection>
</resultMap>

使用resultMap时注意从表的id设置

源码:https://github.com/llanc/Mybatis

 

 

赞(0)
未经允许不得转载:喋喋不休 » Mybatis的关系映射

评论 抢沙发

评论前必须登录!

 

精品网站

有券无忧电脑壁纸精选