ibatis配置文件-高级应用

1、一个大对象中有一个小对象的集合。在查询大对象时,同时加载小对象集合。

eg:有一个大对象MailTaskInternalDTO,在MailTaskInternalDTO中有一个list,这个list中包含了小对象MailTaskParameterValueDTO。需求:查询符合条件的MailTaskInternalDTO列表。

MailTaskInternalDTO是一个邮件对象,包含了邮件标题、收件人、抄送人等,但这个邮件内容中有一些变量,这些变量存储在MailTaskParameterValueDTO中,在批量发送邮件时,替换邮件正文中的变量。现在可以用下面一条语句来完成。
a、<resultMap id="loadMailTaskResultMap" class="com.paic.nets.common.fm.mail.dto.MailTaskInternalDTO">  
  <result property="mailTaskId" column="MAIL_SEND_ID" />  
  <result property="mailTemplateId" column="MAIL_TEMPLATE_ID" />
  <result property="receivers" column="RECEIVERS" />
  <result property="copyTos" column="COPY_TO" />
  <result property="status" column="STATUS"/>
  <result property="parameterValDTOs" column="MAIL_SEND_ID" select="common.loadMailParameterVals"/>
 </resultMap>
 <resultMap id="mailTaskParamValDTOs" class="com.paic.nets.common.fm.mail.dto.MailTaskParameterValueDTO">
  <result property="paramName" column="MAIL_PARAM_NAME" />  
  <result property="paramValue" column="MAIL_PARAM_VALUE" />
 </resultMap>

b、
<select id="loadMailTaskByBatchID" parameterClass="java.lang.Long" resultMap="loadMailTaskResultMap">
  SELECT Q.MAIL_SEND_ID, Q.MAIL_TEMPLATE_ID, Q.RECEIVERS, Q.COPY_TO, Q.STATUS FROM T_PC_MAIL_SEND_QUEUE Q WHERE Q.MAIL_BATCH_ID=#value#
 </select>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值