zoukankan      html  css  js  c++  java
  • Mybatis中一对多与多对一的配置

     User:用户表
    Order:订单表
     
    一、表与表之间的关系
    一对多    一个用户对应多个订单
    多对一 多个订单对应一个用户

    1.一对多
    实体类user中包含一个属性
    List<Order> orders;

    在查询一个用户信息的同时 还可以映射出一个用户对应的所有订单信息 
    uid作为Order表的外键
    即在User表中执行一个
    select * from user where uid = ?
    时,还应该附带的在Order表中执行一个
    select * from order where uid = ?
    来查询出相应的订单信息

    2.多对一
    实体类Order中包含一个属性
    User user;
    在查询一个订单信息的同时 还可以映射出一个订单对应的用户信息 
    uid是Order的外键,Order表中包含一个uid字段。
    即在Order表中执行一个
    select * from order where oid = ?
    时,还应该附带的在user表中执行一个
    select * from user where uid = ?
    用以查询出对应的用户信息
     
    二、在xml中的配置
     在xml配置中
    column:指名查询语句中的查询字段名,多与表中字段名对应。
    property:指名实体类中的属性名 
     
    在UserMapper.xml中进行一对多的配置

     代码:

    <collection column="uid" property="orders" fetchType="lazy"
      select="mystoreyang.OrderMapper.selectByUid">
    </collection>

    在OrderMapper.xml中进行多对一的配置

     代码:

    <association column="uid" property="ouser" fetchType="eager"
      select="mystoreyang.mapper.UserMapper.selectByPrimaryKey">
    </association>

  • 相关阅读:
    How to load custom styles at runtime (不会翻译,只有抄了 )
    更多FMK 的还是看万一的吧
    Custom Grid Columns
    样式和说明文档
    LiveBindings --- 把对象之间的属性绑定起来
    LiveBindings如何绑定一个对象(转)
    Delphi LiveBinds组件
    记录一偏,因为我不会翻译,
    Delphi XE4 For IOS之部署问题
    Delphi XE5 android 捕获几个事件
  • 原文地址:https://www.cnblogs.com/yang37/p/11113716.html
Copyright © 2011-2022 走看看