使用mybaits collection标签注意事项

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}" 这样写才正确.

 

备注:第一种情况,在多个参数的时候可以使用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值