• MyBatis的关联查询


    一.MyBatis的关联查询

    在关系型数据库中,我们经常要处理一对多,多对一和多对多的关系。

    (1).MyBatis一对一关联查询总结

      MyBatis中使用association标签来解决一对一的关联查询,association标签可用的属性如下:

    property:对象属性的名称

    javaType:对象属性的类型

    column:所对应的外键字段名称

    select:使用另一个查询封装的结果

    (2)关联映射一对多

    MyBatis中使用collection标签来解决一对多的关联查询,ofType属性指定集合中元素的对象类型

           列:一个老师对应多名学生

              一个部门对应多个员工

     

    Xml主要代码:

    (3).关联映射多对一

    反过来,多个人对一个国家。每个人只对一个国家。当然不考虑双重国籍的吵架问题。

    由于查询多对象时,也是一个一个查的。所以:一对一关联查询的实现方式与多对一的实现方式是相同的

    1)实体类稍有变化:

     

    国家没有了Set<People>人成员变量,人有了国家成员变量

    Dao接口

     

    mapper.xml配置文件

     

     

    4)测试输出

    备注:

    Country类中可以不删除Set<People>peoples ; 成员变量。

    People类中可以一直有Countrycountry;成员变量。

    去掉是为了便于理解一对多、多对一

    4多对多关系

    一个学生可以选多门课程,而一门课程可以由多个学生选择,这就是一个典型的多对多关联关系。所谓多对多关系,其实是由两个互反的一对多关系组成。即多对多关系都会通过一个中间表来建立,例如选课表。学生对于选课表来说是一对多,课程对于选课表来说也是一对多。

  • 相关阅读:
    二分查找
    Uva11464 Even Parity
    Uva10881 Piotr's Ants
    POJ3154 Graveyard
    [NOIP2015] 提高组 洛谷P2680 运输计划
    [NOIP2015] 提高组 洛谷P2679 子串
    [NOIP2015] 提高组 洛谷P2678 跳石头
    [NOIP2015] 提高组 洛谷P2668 斗地主
    [NOIP2015] 提高组 洛谷P2661 信息传递
    [NOIP2015] 提高组 洛谷P2615 神奇的幻方
  • 原文地址:https://www.cnblogs.com/qinzhenyu/p/11668866.html
Copyright © 2020-2023  润新知