1.代码实体
package cn
.com
.mybatis
.pojo
;
public class AbdPolicyno{
private String policyno
;
private String pname
;
private List
<AbdBasePerson> abdBasePerson
;
}
2.在Mapper映射中添加collection集合
<resultMap id
="BaseResultMap" type
="com.abdcs.entity.AbdPolicynoBasemsg">
<id column
="id" jdbcType
="INTEGER" property
="id"/>
<result column
="empno" jdbcType
="VARCHAR" property
="empno"/>
<result column
="policyno" jdbcType
="VARCHAR" property
="policyno"/>
<collection column
="policyno" select
="queryPersonByPolicyno" property
="personList" ofType
="com.abdcs.entity.AbdPolicynoPerson"/>
</resultMap
>
<select id
="queryPersonByPolicyno" parameterType
="String" resultType
="com.abdcs.entity.AbdPolicynoPerson">
select
* from abd_policyno_person app where app
.policyno
= #
{policyno
}
</select
>
在以上实例中,AbdPolicyno实体与 AbdPolicynoPerson实体会进行关联,一个客户对应一个保单,一个保单对应多个用户,而policyno保单号码resultMap建议另外添加一个,因为每次操作此实体得方法时,它会自动根据你所查出得关联id 进行搜索并放入集合,导致其他方法查询有误
特别注意 : 在ResultMap中 添加 标签一定要严格按照顺序进行添加
resultMap中元素的顺序应按照括号中内容的顺序,也就是id、result、association、collection、discriminatory,
不能在result没写完的情况下插入association或者collection
(否则会在运行时报:*元素类型为 "resultMap" 的内容必须匹配 "(constructor?,id*,result*,association*,collection*,discriminator?)"*
的错误)