Mybatis - 多对一 和 一对多

“多对一” 和 “一对多” 定义

 

 

 

 

“多对一”处理(推荐)

需求+pojo定义

需求:查询所有学生student, 以及其所有对应老师teacher的信息

学生pojo: id, name, tid(教师的id)

教师pojo: id, name

 

1.sql实现方式

使用sql实现极其简单:select s.id, s.name, t.name from student as s, teacher as t where s.tid = t.id;

 

2.mybatis实现方式

2.1 按照结果嵌套处理 (推荐,更简单)

 

2.2 按照查询嵌套处理

 

 

 

“一对多”处理 (不推荐)

 

需求+pojo定义

需求:查询所有学生student, 以及其所有对应老师teacher的信息

学生pojo: id, name, tid(教师的id)

教师pojo: id, name,List<Student> students

 

1.sql实现方式

依然不变,select s.id, s.name, t.name from student as s, teacher as t where s.tid = t.id;

 

2.mybatis实现方式

2.1 按照结果嵌套处理 

 

 

 

2.2 按照查询嵌套处理

 

posted on 2020-11-30 00:40  frank_cui  阅读(68)  评论(0编辑  收藏  举报

导航

levels of contents