【Mybatis 一对多 多对一 多对多的处理】

本文详细介绍了数据库中多对一和一对多关系的概念,并通过实例展示了如何在MySQL中搭建和插入数据。多对一关系表现为多个学生对应一个老师,而一对多关系则是一个老师可以有多个学生。在数据库设计中,使用外键约束实现了这种关联。此外,还提到了在数据库管理工具如Navicat中设置自增主键的方法,以及在编程中处理关联属性的策略。
摘要由CSDN通过智能技术生成

暑假学习组织实训想着来复习多对一、一对多的两种实现方式。多对一和一对多是比较难以理解的,所以想多理解理解

理解概念和环境搭建

1.多对一

  • 多个学生对应一个老师
  • 对于学生这把而言,关联老师,多个学生关联一个老师【多对一】

2.一对多

  • 对于老师而言,集合,一个老师有很多学生【一对逗】

在这里插入图片描述

3.实现

1.环境搭建
CREATE TABLE `teacher` (
  `id` INT(10) NOT NULL,
  `name` VARCHAR(30) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8

INSERT INTO teacher(`id`, `name`) VALUES (1, '秦老师'); 

CREATE TABLE `student` (
  `id` INT(10) NOT NULL,
  `name` VARCHAR(30) DEFAULT NULL,`student``student`
  `tid` INT(10) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `fktid` (`tid`),
  CONSTRAINT `fktid` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8


INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('1', '小明', '1'); 
INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('2', '小红', '1'); 
INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('3', '小张', '1'); 
INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('4', '小李', '1'); 
INSERT INTO `student` (`id`, `name`, `tid`) VALUES ('5', '小王', '1');

数据库

若要自动增加主键 要在数据库管理工具navicat中勾选自增主键
两个关键字 insert中的
useGeneratedKeys=“true” keyProperty=“id”
resultMap id主键 result 其他字段

association 发送的额外sql
针对的关联属性配置,非集合类型
select 发送什么额外 SQL
column 发送额外 SQL 参数取上一条 SQL 哪个列的值
property 封装员工对象的什么属性

多对一
association执行两条sql 封装

一对多
collection

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值