Java类:
public class PolicyInfoDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**主键**/
private String idPolicyInfo;
/**修改时间**/
private java.util.Date dateUpdated;
/**创建时间**/
private java.util.Date dateCreated;
/**创建人**/
private String createdBy;
/**跟单礼品数据 (临时变量)**/
private List<PolicyOperateGiftDTO> giftDTOs;
}
public class PolicyOperateGiftDTO implements Serializable { private static final long serialVersionUID = 1L; /**礼品表主键**/ private String idGift; /**创建时间**/ private java.util.Date dateCreated; /**创建人**/ private String createdBy; /**保单信息表主键**/ private String idPolicyInfo;
Mapper.xml
PolicyInfoDTOMapper
<resultMap id="policyInfoResultMap" type="com.PolicyInfoDTO">
<id property="idPolicyInfo" column="ID_POLICY_INFO" />
<result property="idPolicyInfo" column="ID_POLICY_INFO" />
<result property="dateUpdated" column="DATE_UPDATED" />
<result property="dateCreated" column="DATE_CREATED" />
<result property="createdBy" column="CREATED_BY" />
</resultMap>
<!-- 继承于policyInfoResultMap,扩展查询礼品表主键对应的跟单礼品list数据 add by EX-001 2019-2-26 11:18--> <resultMap id="policyInfoGiftLogResultMap" type="com.dto. PolicyInfoDTO" extends="policyInfoResultMap"> <collection property="giftDTOs" ofType="com.dto. PolicyOperateGiftDTO" column="{idPolicyInfo=idPolicyInfo}" javaType="ArrayList" select="com.mapper.PolicyOperateGiftMapper. selectPolicyOperateGifts"> </collection> </resultMap>
<!-- 根据保单号查询保单信息 add by EX-001 2019-2-19 10:46--> <select id="findPolicyInfoByPolicyNo" parameterType="map" resultMap="policyInfoGiftLogResultMap"> <include refid="Select_Clause"></include> WHERE policy_no = #{policyNo} </select>
PolicyOperateGiftMapper
<resultMap id="policyOperateGiftResultMap" type="com.dto. PolicyOperateGiftDTO">
<id property="idGift" column="ID_GIFT" />
<result property="idGift" column="ID_GIFT" />
<result property="dateCreated" column="DATE_CREATED" /> <result property="createdBy" column="CREATED_BY" /> <result property="idPolicyInfo" column="ID_POLICY_INFO" /> </resultMap>
<!—查询礼品sql --> <select id="selectPolicyOperateGifts" parameterType="map" resultMap="policyOperateGiftResultMap"> <include refid="Select_Clause"></include> where 1 = 1 <if test="idPolicyInfo != null and idPolicyInfo!= ''"> and ID_POLICY_INFO = #{idPolicyInfo} </if> </select>
1,注意相同颜色的地方,他们是引用关系.
2,标红的,重点说明.
第一种情况
“查询礼品sql” 的parameterType = “map”,因此,在policyInfoGiftLogResultMap中的collection标签中的column="{idPolicyInfo=idPolicyInfo}" 这样写才正确.
第二种情况
如果 “查询礼品sql “的parameterType="string" ,则,在policyInfoGiftLogResultMap中的collection标签中的column="{idPolicyInfo}" 这样写才正确.
备注:第一种情况,在多个参数的时候可以使用