假设有3个表
表A 有字段 id,a1,a2,a3其中id为主键,
又有表B 有字段 id,b1,b2,b3其中id为主键,
A跟B 直接没有关系,是通过一张关系表C 来进行关联的
C 有字段 id,A_id,B_id
现在 假设 A B的关系是 多对1的关系 假设
B表所对应的 实体类有这样的 List<A$amp;>amp;$nbsp;aaa 的一个属性
用Batis resultMap 设置 查询B的时候 把关系的也查询出来。
如果可以,那要怎么写,最好有简单代码,或者例子,网上差不多的例子链接也可以。
public class Disclosure
{
/**
* DISCLOSURE_ID:爆料信息id
*/
private long id;
/**
* 附件列表
*/
private List<Attachment$amp;>amp;$nbsp;attachments;
}
<resultMap id="disclosureMap"
type="xxxx.Disclosure">
<id property="id" column="DISCLOSURE_ID" />
<collection property="attachments" column="DISCLOSURE_ID"
ofType="xxx.Attachment"
select="xxx.DisAttachmentMapper.getAttachmentsByDisclosureId">
</collection>
</resultMap>
上面是对应disclosure类的resultMap
DisAttachmentMapper.getAttachmentsByDisclosureId
对应的mapper
<resultMap id="attachmentMap" type="xxx.Attachment">
<result property="attachmentId" column="DISCL_ATT_ID" />
<result property="attachmentUrl" column="ATTACHMENT_URL" />
</resultMap>
<select id="getAttachmentsByDisclosureId" parameterType="long" resultMap="attachmentMap">
select DISCL_ATT_ID,ATTACHMENT_URL from DISCLOSURE_ATTACHMENT where DISCLOSURE_ID =#{disclosureId}
</select>
大概这样吧