ibatis批量查询

将参数list,和其他参数放到map中,传到后台,requestList是个集合

Map<String, Object> map = new HashMap<String, Object>();
		map.put("afterDate", afterDate);
		map.put("powerPlantInfo", requestList);
		try {
			contracts = this.queryForList("gfContract.powerStationList", map);

map,前面的查询语句,是防止出现null不循环语句,则报错条件1-2永无数据

<select id="powerStationList" parameterClass="java.util.Map" resultMap="powerSationMap">
        <dynamic prepend="">
        <![CDATA[
        SELECT
                '33101' as AREA_CODE,
                E.Gc_No as POWER_GENERATION_NO,
                E.Gc_Name as POWER_USER_NAME,
                E.Gc_Addr as POWER_ADDR,
                '1' SIGN_STATUS,
                w.PAY_AMT,
                w.pay_ym
            FROM
                (
                SELECT
                    * 
                FROM
                    YD_33101.fc_gc 
                WHERE
                gc_no ='22222222' ) E
                LEFT JOIN ( SELECT t.pay_amt, t.gc_no, t.pay_ym FROM yd_33101.fs_pay_info t WHERE t.pay_ym = #afterDate# ) w 
                ON E.gc_no = w.gc_no
                where 1=2
          ]]>
        <iterate close=" " open=" " property="powerPlantInfo"  conjunction="">
        <!-- <iterate property="map" conjunction="UNION "> -->
			<![CDATA[
			union
			SELECT
			    #powerPlantInfo[].proCode# as AREA_CODE,
			    E.Gc_No as POWER_GENERATION_NO,
			    E.Gc_Name as POWER_USER_NAME,
			    E.Gc_Addr as POWER_ADDR,
			    '1' SIGN_STATUS,
			    w.PAY_AMT,
			    w.pay_ym
			FROM
			    (
			    SELECT
			        * 
			    FROM
			        YD_$powerPlantInfo[].proCode$.fc_gc 
			    WHERE
			    gc_no =#powerPlantInfo[].userNo# ) E
			    LEFT JOIN ( SELECT t.pay_amt, t.gc_no, t.pay_ym FROM yd_33101.fs_pay_info t WHERE t.pay_ym = #afterDate# ) w 
			    ON E.gc_no = w.gc_no
			]]>
        </iterate>
    </dynamic>                                                                                                                          
    </select>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值