ibatis的批量处理

来源:互联网 发布:旅游大数据分析 编辑:程序博客网 时间:2024/06/05 19:15

在oracle数据库下的处理:

<statement id="batchTxOrder" parameterClass="java.util.Map">        BEGIN        delete from CPM_TX_ORDER cto where cto.tx_id=#txid#;        <![CDATA[         insert into CPM_TX_ORDER(             tx_id,            trans_code,            app_no,            order_date,            currency_code,            amount,            explain,            source_id,            payer_bank_code,            payer_account_no,            receiver_bank_code,            receiver_account_no,            receiver_account_name,            receiver_region_code,            receiver_bank_name,            receiver_bank_cnaps,            create_time,            spare1,            spare2,            spare3,            spare4,            spare5        )          ]]>        <iterate property="txOrders" conjunction="UNION">          <![CDATA[             select             #txOrders[].txid#,            #txOrders[].transcode#,            #txOrders[].appno#,            #txOrders[].orderdate#,            #txOrders[].currencycode#,            #txOrders[].amount#,            #txOrders[].explain#,            #txOrders[].sourceid#,            #txOrders[].payerbankcode#,            #txOrders[].payeraccountno#,            #txOrders[].receiverbankcode#,            #txOrders[].receiveraccountno#,            #txOrders[].receiveraccountname#,            #txOrders[].receiverregioncode#,            #txOrders[].receiverbankname#,            #txOrders[].receiverbankcnaps#,            sysdate,            #txOrders[].spare1#,            #txOrders[].spare2#,            #txOrders[].spare3#,            #txOrders[].spare4#,            #txOrders[].spare5#            from dual        ]]>        </iterate>;        END;    </statement>

在mysql数据库下的处理


BEGIN
delete from CPM_TX_ORDER cto where cto.tx_id=#txid#;

    <![CDATA[     insert into CPM_TX_ORDER(         tx_id,        trans_code,        app_no,        order_date,        currency_code,        amount,        explain,        source_id,        payer_bank_code,        payer_account_no,        receiver_bank_code,        receiver_account_no,        receiver_account_name,        receiver_region_code,        receiver_bank_name,        receiver_bank_cnaps,        create_time,        spare1,        spare2,        spare3,        spare4,        spare5    )      ]]>    <iterate property="txOrders" conjunction=",">      <![CDATA[         (        #txOrders[].txid#,        #txOrders[].transcode#,        #txOrders[].appno#,        #txOrders[].orderdate#,        #txOrders[].currencycode#,        #txOrders[].amount#,        #txOrders[].explain#,        #txOrders[].sourceid#,        #txOrders[].payerbankcode#,        #txOrders[].payeraccountno#,        #txOrders[].receiverbankcode#,        #txOrders[].receiveraccountno#,        #txOrders[].receiveraccountname#,        #txOrders[].receiverregioncode#,        #txOrders[].receiverbankname#,        #txOrders[].receiverbankcnaps#,        sysdate,        #txOrders[].spare1#,        #txOrders[].spare2#,        #txOrders[].spare3#,        #txOrders[].spare4#,        #txOrders[].spare5#)    ]]>    </iterate>;    END;</statement>

java调用

Map<String, Object> map = new HashMap<String, Object>();        map.put("txid", 280002401);        map.put("txOrders", txOrders);    getSqlMapClientTemplate().batchTxOrder(map);
0 0
原创粉丝点击