Mybatis关联关系映射

一、一对多关联关系

 

注:这边使用订单表和订单详情表为例

第一步:用逆向生成工具生成对应的方法以及实体类

在generatorConfig.xml中编写代码生成代码

<!--        订单表-->
        <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>

再调用配置的代码生成语句

 第二步:编写Vo类

注:Vo类继承实体类然后再根据是一对多还是多对多了来进行调节

分析:订单对应多个订单详情,那么订单Vo类里面就有一个集合来装订单详情

           订单详情对应一个订单,那么订单详情Vo类中放的就是一个订单的对象

OrderVo

package com.zxy.vo;

import com.zxy.model.Order;
import com.zxy.model.OrderItem;

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

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.zxy.vo;

import com.zxy.model.Order;
import com.zxy.model.OrderItem;

public class OrderItemVo extends OrderItem {
    private Order order;

    public Order getOrder() {
        return order;
    }

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

 第三步:在OrderMapper.xml,OrderItemMapper.xml中追加配置

这里涉及到两个标签

一对多:<collection property= oftype="类的全路径名">

一对一:<assocation property javaType="类的全路径名">

OrderMapper.xml

  <resultMap id="OrderVoMap" type="com.zxy.vo.OrderVo" >
    <result property="orderId" column="order_id"></result>
    <result property="orderNo" column="order_no"></result>
    <collection property="orderItems" ofType="com.zxy.model.OrderItem">
      <result property="orderItemId" column="order_item_id"></result>
      <result property="oid" column="oid"></result>
      <result property="productId
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值