• Java后端 学习路线 笔记汇总表【黑马程序员】
  1. MyBatis-学习笔记01【01.Mybatis课程介绍及环境搭建】【day01】
  2. MyBatis-学习笔记02【02.Mybatis入门案例】
  3. MyBatis-学习笔记03【03.自定义Mybatis框架】
  4. MyBatis-学习笔记04【04.自定义Mybatis框架基于注解开发】【day02】
  5. MyBatis-学习笔记05【05.使用Mybatis完成CRUD】
  6. MyBatis-学习笔记06【06.使用Mybatis完成DAO层的开发】
  7. MyBatis-学习笔记07【07.Mybatis的连接池及事务】【day03】
  8. MyBatis-学习笔记08【08.动态SQL】
  9. MyBatis-学习笔记09【09.Mybatis的多表操作】
  10. MyBatis-学习笔记10【10.JNDI扩展知识】
  11. MyBatis-学习笔记11【11.Mybatis的缓存】【day04】
  12. MyBatis-学习笔记12【12.Mybatis注解开发】

目录

1 mybatis表之间关系分析

2 完成account表的建立及实现单表查询

2.1、创建Account数据表

2.2、配置User实体类

2.3、配置Account实体类

3 完成account的一对一操作-通过写account的子类方式查询

4 完成account一对一操作-建立实体类关系的方式

5 完成user的一对多查询操作

6 分析mybatis多对多的步骤并搭建环境

7 mybatis多对多准备角色表的实体类和映射配置

7.1、建立多对多数据表

7.2、实体类和映射配置

8 mybatis多对多操作-查询角色获取角色下所属用户信息

9 mybatis多对多操作-查询用户获取用户所包含的角色信息


1 mybatis表之间关系分析

1、连接池
2、mybatis中的连接池
3、mybatis中的事务
4、mybatis中的多表查询
    表之间的关系有几种:一对多、多对一、一对一、多对多
    举例:
        用户和订单就是一对多
        订单和用户就是多对一:一个用户可以下多个订单、多个订单属于同一个用户
        人和身份证号就是一对一:一个人只能有一个身份证号、一个身份证号只能属于一个人
        老师和学生之间就是多对多:一个学生可以被多个老师教过、一个老师可以交多个学生
    特例:如果拿出每一个订单,他都只能属于一个用户。所以Mybatis就把多对一看成了一对一。

2 完成account表的建立及实现单表查询

1、连接池
2、mybatis中的连接池
3、mybatis中的事务
4、mybatis中的多表查询
    表之间的关系有几种:一对多、多对一、一对一、多对多
    举例:
        用户和订单就是一对多
        订单和用户就是多对一:一个用户可以下多个订单、多个订单属于同一个用户
        人和身份证号就是一对一:一个人只能有一个身份证号、一个身份证号只能属于一个人
        老师和学生之间就是多对多:一个学生可以被多个老师教过、一个老师可以交多个学生
    特例:如果拿出每一个订单,他都只能属于一个用户。所以Mybatis就把多对一看成了一对一。
    mybatis中的多表查询:
        示例:用户和账户
            一个用户可以有多个账户、一个账户只能属于一个用户(多个账户也可以属于同一个用户)
        步骤:
            1、建立两张表:用户表、账户表
                让用户表和账户表之间具备一对多的关系:需要使用外键在账户表中添加
            2、建立两个实体类:用户实体类和账户实体类
                让用户和账户的实体类能体现出来一对多的关系
            3、建立两个配置文件:用户的配置文件、账户的配置文件
            4、实现配置:
                当我们查询用户时,可以同时得到用户下所包含的账户信息
                当我们查询账户时,可以同时得到账户的所属用户信息

2.1、创建Account数据表

 

DROP TABLE IF EXISTS `account`;CREATE TABLE `account` (`ID` int(11) NOT NULL COMMENT '编号',`UID` int(11) default NULL COMMENT '用户编号',`MONEY` double default NULL COMMENT '金额',PRIMARY KEY  (`ID`),KEY `FK_Reference_8` (`UID`),CONSTRAINT `FK_Reference_8` FOREIGN KEY (`UID`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;insert  into `account`(`ID`,`UID`,`MONEY`) values (1,46,1000),(2,45,1000),(3,46,2000);

2.2、配置User实体类

 

2.3、配置Account实体类

3 完成account的一对一操作-通过写account的子类方式查询

 

4 完成account一对一操作-建立实体类关系的方式

 

 

5 完成user的一对多查询操作

 

6 分析mybatis多对多的步骤并搭建环境

1、连接池
2、mybatis中的连接池
3、mybatis中的事务
4、mybatis中的多表查询
        示例:用户和角色
            一个用户可以有多个角色
            一个角色可以赋予多个用户
        步骤:
            1、建立两张表:用户表、角色表
                让用户表和角色表具有多对多的关系。需要使用中间表,中间表中包含各自的主键,在中间表中是外键。
            2、建立两个实体类:用户实体类和角色实体类
                让用户和角色的实体类能体现出来多对多的关系
                各自包含对方一个集合引用
            3、建立两个配置文件
                用户的配置文件
                角色的配置文件
            4、实现配置:
                当我们查询用户时,可以同时得到用户所包含的角色信息
                当我们查询角色时,可以同时得到角色的所赋予的用户信息

7 mybatis多对多准备角色表的实体类和映射配置

7.1、建立多对多数据表

DROP TABLE IF EXISTS `role`;CREATE TABLE `role` (`ID` int(11) NOT NULL COMMENT '编号',`ROLE_NAME` varchar(30) default NULL COMMENT '角色名称',`ROLE_DESC` varchar(60) default NULL COMMENT '角色描述',PRIMARY KEY  (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;insert  into `role`(`ID`,`ROLE_NAME`,`ROLE_DESC`) values (1,'院长','管理整个学院'),(2,'总裁','管理整个公司'),(3,'校长','管理整个学校');DROP TABLE IF EXISTS `user_role`;CREATE TABLE `user_role` (`UID` int(11) NOT NULL COMMENT '用户编号',`RID` int(11) NOT NULL COMMENT '角色编号',PRIMARY KEY  (`UID`,`RID`),KEY `FK_Reference_10` (`RID`),CONSTRAINT `FK_Reference_10` FOREIGN KEY (`RID`) REFERENCES `role` (`ID`),CONSTRAINT `FK_Reference_9` FOREIGN KEY (`UID`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;insert  into `user_role`(`UID`,`RID`) values (41,1),(45,1),(41,2);

7.2、实体类和映射配置

 

8 mybatis多对多操作-查询角色获取角色下所属用户信息

 

9 mybatis多对多操作-查询用户获取用户所包含的角色信息

 

MyBatis-学习笔记09【09.Mybatis的多表操作】相关推荐

  1. [MyBatis学习笔记] 二、Mybatis基本操作及相关标签介绍

    [MyBatis学习笔记] 二.Mybatis基本操作及相关标签介绍 一.Mybatis简介 二.简单的CRUD操作 1.构建SqlSessionFactory (1)编辑mybatis-config ...

  2. mybatis学习笔记-02-第一个mybatis程序

    该视频为狂神说java视频配套笔记(博主自己手打223,日后做个参考223),b站连接:Mybatis最新完整教程IDEA版[通俗易懂]-02-第一个mybatis程序) 文章目录 2.第一个myba ...

  3. Mybatis学习笔记 4:Mybatis 连表查询(一)——一对多关系

    完整代码在这 在查询数据库时,我们经常会遇到多张表联合查询的情况,而Mybatis使连表查询更加简便了,查询出的数据格式非常易于使用,省去了一大部分复杂的代码编写工作,对于关系型数据库来说,数据模型之 ...

  4. Mybatis学习笔记_5、Mybatis动态SQL

    动态 SQL 是 MyBatis 的强大特性之一.MyBatis提供的对SQL语句动态组装的功能解决了开发人员在使用JDBC或其他的框架进行数据库开发时,需要手动拼装SQL的繁琐问题. 动态SQL元素 ...

  5. 大数据学习笔记34:Hive - 数据库与表操作

    文章目录 一.准备工作 1.启动Hadoop 2.启动Hive 二.数据库操作 1.创建数据库 2.查询数据库 (1)显示全部数据库 (2)查询满足条件的数据库 3.修改数据库信息 (1)给数据库添加 ...

  6. Mybatis学习笔记——第一天

    Mybatis学习打卡 Mybatis学习笔记---第一天 Mybatis笔记 第一天 一.引言 1. 现有Jdbc的缺陷 2. Mybatis框架 3. 搭建环境 1) 引入jar包 2) 引入配置 ...

  7. mybatis学习笔记(13)-延迟加载

    2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(13)-延迟加载 标签: mybatis [TOC] resultMap可以实现高级映射(使用asso ...

  8. mybatis学习笔记(7)-输出映射

    2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(7)-输出映射 标签: mybatis [TOC] 本文主要讲解mybatis的输出映射. 输出映射有 ...

  9. mybatis学习笔记(3)-入门程序一

    2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(3)-入门程序一 标签: mybatis [TOC] 工程结构 在IDEA中新建了一个普通的java项 ...

  10. MyBatis多参数传递之Map方式示例——MyBatis学习笔记之十三

    前面的文章介绍了MyBatis多参数传递的注解.参数默认命名等方式,今天介绍Map的方式.仍然以前面的分页查询教师信息的方法findTeacherByPage为例(示例源代码下载地址:http://d ...

最新文章

  1. 我真不想学 happens - before 了!
  2. 【深度学习】深度学习的三个主要步骤!
  3. C# win10系统调用不了系统自带的软键盘osk.exe
  4. 选择Vert.x的3个理由
  5. python case语句_高效使用Python字典,技巧都在这里!
  6. @value 静态变量_C语言基本知识:变量
  7. 从键盘上输入一个字符串并保存在str1中,并把str1中下表为偶数的字符保存到str2中
  8. 通过系统架构设计师考试的一点经验(2019年软考)+学习资料下载
  9. Github每日精选(第16期):录屏工具ScreenToGif
  10. 基于C#窗体的酒店管理系统
  11. linux下木马程序病原体的制作和运行
  12. 最新论文笔记(+9):Achieving Secure Search over Encrypted Data for e-Commerce A Blockchain Approach/ToIT2020
  13. maven 中使用jdt编译代码
  14. 今天又接到了交通罚单
  15. g4560和二代i5_两款处理器奔腾G4560和i5-7400差距?
  16. 将 Visio 的图片复制到 ppt并能编辑
  17. 蓝懿学习记录,今天又学到了很多
  18. 火山视窗文本数组类增删查改操作
  19. 7-8 金银铜牌 (15 分)
  20. mysql查询性能测试工具_MySQL性能测试工具MySQLslap使用实例详解

热门文章

  1. HTML的<span>标签【杂记】
  2. 北京师范大学计算机应用基础考试,北京师范大学-计算机应用基础作业(一至九全套)...
  3. oracle多久断开连接,Oracle自动断开连接
  4. mysql配置kodi16.1_kodi16.1电脑版和机顶盒版安装和使用图文教程
  5. 贝叶斯算法对文本进行分类实例
  6. 五、资本资产定价模型 CAPM
  7. FewRel 2.0数据集:以近知远,以一知万,少次学习新挑战
  8. 蒙特卡洛梯度估计方法(MCGE)简述
  9. 揭秘阿里小蜜:基于检索模型和生成模型相结合的聊天引擎 | PaperDaily #25
  10. idea webapp目录404问题,war包方式运行