1:一对多映射

2:总结&下节预告

3:凯哥说一说

本文是《凯哥陪你学系列-框架学习之mybatis框架学习》中第十九篇 一对多映射

声明:本文系凯哥Java(www.kaigejava.com)原创,未经允许,禁止转载!

回顾:

通过前两篇的学习,我们知道了一对一的映射。可以返回resultType和resulMap。

在使用resultMap的时候,需要先声明在使用。

在主表对象一端使用association标签表明是一对一映射关系的。

一:一对多映射

1.1:需求

查询订单信息,关联查询订单明细及用户信息

1.2:sql语句分析

主表:orders(订单表)

从表:orderdetail(订单明细表)、user(用户表)

表之间关系:

订单表与订单明细表之间是一对多的关系。

具体sql语句如下:

java 如何通过映射给整个dto 赋值 java 字段映射_一对一

java 如何通过映射给整个dto 赋值 java 字段映射_一对多_02

1.3:修改扩展类,添加订单明细信息字段

java 如何通过映射给整个dto 赋值 java 字段映射_一对一

java 如何通过映射给整个dto 赋值 java 字段映射_一对一_04

1.4: 对应的mapper映射文件

java 如何通过映射给整个dto 赋值 java 字段映射_一对一

java 如何通过映射给整个dto 赋值 java 字段映射_java字段映射替换框架一对多_06

对应class:

java 如何通过映射给整个dto 赋值 java 字段映射_一对一

java 如何通过映射给整个dto 赋值 java 字段映射_java字段映射替换框架一对多_08

说明:

一对多关系:

在一的(主表)实体对象中声明多的(从表)pojo 集合属性

在对应的主表mapper配置文件中,使用collection标签表明开始一对多关系映射

collection标签属性说明:

collection中property:同样对应的是多方在一方对应的属性名

完整的mapper:

java 如何通过映射给整个dto 赋值 java 字段映射_一对一

java 如何通过映射给整个dto 赋值 java 字段映射_java字段映射替换框架一对多_10

1.4:mapper接口类:

java 如何通过映射给整个dto 赋值 java 字段映射_一对一

java 如何通过映射给整个dto 赋值 java 字段映射_sql语句_12

1.5:测试类:

java 如何通过映射给整个dto 赋值 java 字段映射_一对一

java 如何通过映射给整个dto 赋值 java 字段映射_一对一_14

1.6:运行结果:

java 如何通过映射给整个dto 赋值 java 字段映射_一对一

java 如何通过映射给整个dto 赋值 java 字段映射_一对一_16

二:总结&下节预告

总结:

通过本文学习,我们需要掌握的

1:数据模型分析。需求出来后,根据需求分析出对应的表、实体以及表之间的关系

2:根据需求,需要知道,谁知多的一方,谁是一的一方。

3:在一的一方的声明多的一方

3.1:一的一方的pojo对象中需要声明集合类型的多的一方pojo作为属性

3.2:在一的一方的mapper.xml文件中使用collection 标签声明一对多的关系

下节预告:

在现实生活中,我们有一对一,一对多,还有多对多的对应关系。所以,接下来一篇中,我们将要学习多对多的对应关系。

凯哥说一说:

凯哥希望各位看官老爷们,多提提意见。有时候,或许您们看不到我的回复,但是我会认真看每个人的意见的。会在相应文章中给出解答的。