博为峰JavaEE技术文章 ——MyBatis Mapper ResultMap(4)

上一节我们知道了一对一关系使用association的标签做映射,那么一对多关系该如何处理呢?今天小博老师跟大家一起学习ResultMap中,处理一对多映射关系的标签collection(聚焦元素)。

聚集元素collection用来处理“一对多”关系。需要指定映射以下几个关键的属性:

javaTypeJava实体类的属性(一般为ArrayList,可省略);

ofType:列表中对象的类型(Java实体类);

property:Java实体类中的属性名称。

比如用户User与爱好Hobby的一对多关系中,User类中有一个List包含该用户所有的爱好列表,User类的描述如下:


Hobby类的描述如下:


对应的ResultMap的文件描述:


这里省略了javaType,默认是ArrayList的集合类。

基于以上的ResultMap的定义,我们可以做如下select定义:


Collocation也可以是使用ResultMap属性定义映射关系。只需要把Hobby单独定义一个ResultMap,并把collection的ResultMap属性值指向新定义的结果集映射即可。

 

myBatis加载一个聚集还可以使用select方式,它会执行一个其它映射的SQL 语句返回一个Java实体类型。这种做法较灵活但会将执行多次嵌套的SQL语句。这里不再展开赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值