关联映射

什么是?

数据库中有关联关系的表,通过实体对象引用的方式体现出来,叫关联映射.

为什么?

将多表的记录封装成实体对象.

何时用?

对数据库中的表进行多表查询时.

怎么用?

cn_user------>User

cn_notebook-->Book

public class User{

cnuserid

cnusername

.

.

.

List books; }

public class Book{

cnuserid

cnusername

.

.

.

User user;

}

单个对象的关联

  • 单个SQL语句实现

  • 两条SQL语句实现

多个对象的关联

  • 单个SQL语句实现:一条SQL语句实现,SQL语句复杂,与数据库交互一次.

  • 两条SQL语句实现:一条语句查询USER,一条语句查询BOOK,SQL语句简单,与数

据库进行了两次交互

案例:查询User关联Book的相关信息

实现步骤:

  1. 定义Dao接口文件

  2. 定义Mapper文件

  3. 执行测试

  4. 练习: 用一条语句实现加载多个关联对象

    select * from cn_user u join cn_notebook b on(u.cn_user_id=b.cn_user_id)where u.cn_user_id=#{userId}mapper文件中定义一个<select>标签和<resultMap>标签
    

案例:查询Book关联User信息(单个对象关联)

实现步骤:

  1. 定义Dao接口文件

  2. 定义Mapper文件

  3. 执行测试

  4. 一个SQL语句实现关联查询

练习:通过两个SQL语句查询Book关联User信息

  • Mapper定义:

        <select>cn_notebook全表查询</select><resultMap>定义Book映射<association>定义User映射</association></resultMap><select>关联cn_user表查询</select>
    

主键字段的处理

利用数据自增列作为主键时,执行insert操作时,可以在服务器端自动获取主键值

如何实现

    <insertuseGeneratedKeys="true" keyProperty="id">

创建表:

    create table t_emp(id int primary key auto_increment,name varchar(30),age int)

作业:

  • 利用一个SQL语句实现单个对象关联

  • 利用两个SQL语句实现多个对象关联

转载于:https://www.cnblogs.com/tangshengwei/p/6618435.html

02 - Unit010:关联映射相关推荐

  1. NHibernate从入门到精通系列(7)——多对一关联映射

    内容摘要 多对一关联映射概括 多对一关联映射插入和查询 多对一关联映配置介绍 一.多对一关联映射概括 关联关系是实体类与实体类之间的结构关系,分别为"多对一"."一对一& ...

  2. 第4章 MyBatis的关联映射和缓存机制

    目录/Contents 第4章 MyBatis的关联映射和缓存机制 学习目标 了解数据表之间的三种关联关系 了解对象之间的三种关系 熟悉关联关系中的嵌套查询和嵌套结果 掌握一对一关联映射 掌握一对多关 ...

  3. [置顶] Hibernate从入门到精通(十)多对多单向关联映射

    上一篇文章Hibernate从入门到精通(九)一对多双向关联映射中我们讲解了一下关于一对多关联映射的相关内容,这次我们继续多对多单向关联映射. 多对多单向关联映射 在讲解多对多单向关联映射之前,首先看 ...

  4. JavaEE(14) - JPA关联映射

    1. 单向N-1关联映射 2. 单向1-1关联映射 3. 单向1-N关联映射 4. 单向N-N关联映射 5. 双向1-1关联映射 6. 双向1-N关联映射 7. 双向N-N关联映射 1. 单向N-1关 ...

  5. [置顶] Hibernate从入门到精通(十一)多对多双向关联映射

    上次我们在中Hibernate从入门到精通(十)多对多单向关联映射讲解了一下多对多单向关联映射,这次我们讲解一下七种映射中的最后一种多对多双向关联映射. 多对多双向关联映射 按照我们之前的惯例,先看一 ...

  6. 【Java Web开发指南】Mybatis一对多关联映射

    文章目录 1 嵌套查询 2 嵌套结果 1 嵌套查询 <select id="findUserWithOrders2" parameterType="Integer& ...

  7. Hibernate(九)一对多双向关联映射

    上次的博文Hibernate从入门到精通(八)一对多单向关联映射中,我们讲解了一下一对多单向映射的相关 内容,这次我们讲解一下一对多双向映射的相关内容. 一对多双向关联映射 一对多双向关联映 射,即在 ...

  8. Hibernate从入门到精通(十)多对多单向关联映射

    上一篇文章Hibernate从入门到精通(九)一对多双向关联映射中我们讲解了一下关于一对多关联映射的相关内容,这次我们继续多对多单向关联映射. 多对多单向关联映射 在讲解多对多单向关联映射之前,首先看 ...

  9. Hibernate 关联映射 之 多对多 关联(二) 之拆分

    1.由问题引出一个多对多拆分成两个多对一 问题:Hibernate 关联映射 之 多对多 关联(一)中中间表只是一个存放用户和角色的表,并无其他作用,如果客户有其他的需求,该表就无法扩展. 2.问题解 ...

最新文章

  1. 单片机如何使用?51单片机C语言编程实例有哪些?
  2. hdu5033 最大仰望角
  3. 如何更改微信标签名字_微信透明昵称代码复制
  4. 常用文献管理软件使用经验
  5. C语言变量初始化是必须的
  6. 通过结构体某个成员的地址计算结构体首地址
  7. Visual Studio 2005/2008的代码段编辑器
  8. 剑指offer——6.从尾到头打印链表
  9. [leetcode] 839. 相似字符串组并查集
  10. pcie inbound、outbound及EP、RC间的互相訪问
  11. 花4个月时间整理出《Spring揭秘》的文字版的感受
  12. 读《因果的真相》第三章摘抄笔记
  13. m4s格式转换mp3_音乐怎么转换mp3格式
  14. 解决帆软中不能制作城市热力图的问题
  15. 华为高姐寄来的新年礼物
  16. QQ、YY与webRTC回声消除效果对比分析与展望
  17. 【Python机器学习】聚类算法任务,评价指标SC、DBI、ZQ等系数详解和实战演示(附源码 图文解释)
  18. guid分区怎么装win7_如何在GUID分区装win7系统并以UEFI启动?
  19. 046 非常特别的一天
  20. js vue 下载excel(.xls)文件

热门文章

  1. 最大整数(Noip1998连接多位数)
  2. 连续处理函数reduce
  3. Invoke()/BeginInvoke()区别
  4. c#设置软件开机自动运行,修改注册表
  5. asp net code
  6. C# 集合类(四):Hashtable
  7. vs2005sp1安装加速
  8. VS2005与VSOrcasExpress对LINQ各有所属~
  9. 【NOI2016】优秀的拆分(后缀数组)
  10. 20181102 T1 相遇