mybatis之关联关系映射

本文介绍了MyBatis中的一对多和多对多的关联关系映射。通过实例展示了如何配置映射文件,以及如何进行测试。在一对多关系中,一个订单可以有多个订单项;而在多对多关系中,多个书籍可以属于多个类别,反之亦然。
摘要由CSDN通过智能技术生成

目录:
1.一对多
2.多对多

1.一对多

首先先用逆向生成工具生成t_hibernate_order、t_hibernate_order_item
这两张表对应的model与mapper

 <table schema="" tableName="t_hibernate_order" domainObjectName="Order"
               enableCountByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false" enableUpdateByExample="false">
       
        </table>
        <table schema="" tableName="t_hibernate_order_item" domainObjectName="OrderItem"
               enableCountByExample="false" enableDeleteByExample="false"
               enableSelectByExample="false" enableUpdateByExample="false">
        
        </table>

当我们生成后,就可以看到实体类了
在这里插入图片描述
OrderVo:

package com.ly.model.vo;

import com.ly.model.Order;
import com.ly.model.OrderItem;

import java.util.ArrayList;
import java.util.List;

/**
 * @author李烨
 * @site www.yilufa.com
 * @company xxx公司
 * @create  2019-09-26 11:37
 */
public class OrderVo extends Order {
    private List<OrderItem> orderItems = new ArrayList<>();

    public List<OrderItem> getOrderItems() {
        return orderItems;
    }

    public void setOrderItems(List<OrderItem> orderItems) {
        this.orderItems = orderItems;
    }
}

OrderItemVo(这里是我们的多对一)

package com.ly.model.vo;

import com.ly.model.Order;
import com.ly.model.OrderItem;

/**
 * @author李烨
 * @site www.yilufa.com
 * @company xxx公司
 * @create  2019-09-26 11:40
 */
public class OrderItemVo extends OrderItem {
    private Order order;

    public Order getOrder() {
        return order;
    }

    public void setOrder(Order order) {
        this.order = order;
    }
}

接下来就是配置映射文件:
OrderMapper.xml:

<resultMap id="OrderVoMap" type="com.ly.model.vo.OrderVo" >
  <result property="orderId" column="order_id"></result>
  <result property="orderNo" column="order_no"></result>
  <collection property="orderItems" ofType="com.ly.model.OrderItem">
    <result property="orderItemId" column="order_item_id"></result>
    <result property="productId" column="product_id"></result>
    <result property="quantity" column="quantity"></result>
    <result property="oid" column="oid"></result>
  </collection>
</resultMap>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值