Mybatis一对多查询

集合的嵌套查询

<collectioncolumn="关联主键ID(用于嵌套查询SQL语句传入参数,多个用逗号分开)"  property="Java属性名" 

ofType="列表中对象的类型(Java实体类)"  javaType="ArrayList"  select="另一个select映射SQL的ID"/>

eg.有一个专家类,查询需要返回专家著作(另一个类),在专家类中添加一个属性private List<Composition> expertComposition;

加一个resultMap,继承原来的resultMap(名为BaseResultMap)

<resultMap extends="BaseResultMap"  id="expertCompositionMap" type="com.lgsc.cjbd.expert.model.Expert" >
     <!-- 专家著作 -->
    <collection column="expert_id" property="expertComposition" ofType="com.lgsc.cjbd.expert.model.Composition" select="com.lgsc.cjbd.expert.mapper.CompositionMapper.selectByExpertId" />
    </resultMap>
再查询便可返回专家和专家著作

<!-- 根据id查询专家,结果返回专家著作 -->
  <select id="selectExpertAndComposition" parameterType="Long" resultMap="expertCompositionMap">
		select * from expert  where expert_id=#{expertId}
	</select>
集合的嵌套结果

<collection property="Java属性名" ofType="另一Java类名" javaType="ArrayList" resultMap="另一个resultMap的ID"/>

<resultMap="另一个resultMap的ID" type="另一Java类名">

<id property="id" column="关联主键ID"/>

........(其他字段)

</resultMap>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值