Mybatis--第七节多表操作1

A:一对多表关系的建立
在这里插入图片描述
在这里插入图片描述
B:级联属性赋值(在一对多的表中,多表中定义的外键与主表中的主键对应,所以在输出的时候会涉及到主表的内容)

1:在定义多表中的domain时这样定义(外键的属性直接用该表的类--Customer customer)

在这里插入图片描述

2:Order的mapper是这样的

在这里插入图片描述

3:在映射文件中,因为涉及到主表的内容,所以用resulMap输出类型(需要注意的是涉及到主表的属性和数据库中的列)

在这里插入图片描述

C:级联属性赋值的另外一种形式(唯一的不同是在映射文件中的result属性,具体如下图所示,可与上图作比较)

1:采用的把Customer customer属性  用association属性替换

在这里插入图片描述

D: 使用association分布查询(所谓的分布查询时先从一个表中查询到的数据,作为另外一个表的已知量来查询另外一个表中的数据)

1:从order表中查询到Customer表的cust_id。
order的映射文件如何所示,其中在association属性中,
select=“下一个执行语句的mapper接口”
coloum="执行语句的参数"

在这里插入图片描述

2:在CustomerMapper中新创下一个要执行的方法

在这里插入图片描述

3:在其映射文件中要执行的语句如下所示(最后封装成Customer类)

在这里插入图片描述

4:最先执行的sql语句如下所示(查询到的数据封装成Customer)

在这里插入图片描述

5:测试类如下所示

在这里插入图片描述

6:最终的查询结果

在这里插入图片描述

发布了18 篇原创文章 · 获赞 0 · 访问量 262

猜你喜欢

转载自blog.csdn.net/JULIAN__/article/details/103333512