千锋逆战day22
MyBatis联表CRUD
I.多表连接查询方式 :
select * from city ct,country c where ct.country_id=c.cid and ct.ctid=#{xxx}
II.多表单独查询方式:
select * from country where cid=#{xxx}
select ctid,ctname,country_id cid from city where ctid=#{xxx}
2.自关联:反应到数据库查询中用自连接来表示,即一张当成多张表来进行连接查询。
自关联可以以一对多来处理(如通过主菜单找到该主菜单下面所有的子菜单),也可以以多对一来处理(如给出一个文件位置,找出这个文件的所有上级目录的路径)。
(1)自关联以一对多的方式处理
开发步骤:
I.创建菜单表,设置关系,指明外键,由于自连接是连接同一张表,所以多方的外键是在同一张表中,外键指向父元素的id,一级元素的外键为null,而其他子元素的外键不为空,为它的上一级元素的id。
-- 菜单表
create table menu
(
mid int primary key auto_increment, -- 主菜单id
mname varchar(20), -- 菜单的名字
pid int, -- 父菜单的id
foreign key(pid) references menu(mid)
);
II.创建实体类
【千锋逆战day22】//一方
public class Menu {
private int mid;
private String mname;
// 以一对多方式处理,此时的Menu看到的子菜单Menu是多个
// 关联属性:表示子菜单
private Set
- @逆战千锋|@逆战千锋 为什么sql语句执行之后表单中没有数据
- 431-晓夏【1期4班】刻意练习Day22
- 《韩军与新语文教育》读书打卡day22
- Day22—作业
- 练就好声音Day22
- Day22《小坚持也能带来大改变》
- Day226
- 实习--Day22
- 【曲靖靖福大迈】汽车圈的自主SUV如何上演扶摇逆战()
- 逆战|第141章|逆战|第141章 怒战