• mybatis+oracle如何批量执行多条update


    接口

    public void setStatus(List<Columns> columnsList);

    mapping xml
    mapping 中使用foreach,关于标签的使用,资料非常多,在此不再赘述。例如:

      <update id="setStatus">
            <foreach collection="list" index="index" item="col" open="begin" close=";end;" separator=";">
                UPDATE  ${col.funName}
                <set>
                    STATUS = #{col.status}
                </set>
                <where>
                    del_flag = '0'
                    AND FILLINYEAR = #{col.value}
                    AND UNITID = #{col.id}
                </where>
            </foreach>
        </update>

    注意: 
    1、foreach参数: open="begin" close=";end;" separator=";" 是关键,如果不适用open="begin" close=";end;"会出现如下错误: 
    ### The error may involve defaultParameterMap 
    ### The error occurred while setting parameters 
    2、${col.funName}:这里传入的是表名 所以要使用 ${}对于${}和#{}的使用在此不再赘述。

    结果:

    2018-05-18 09:11:37,787 DEBUG [modules.stat.dao.FillininfoDao.setStatus] - ==>  Preparing: begin UPDATE MOST_STAT_UNITBASEINFO SET STATUS = ? WHERE del_flag = '0' AND FILLINYEAR = ? AND UNITID = ? ; UPDATE MOST_STAT_BASERESOURCES SET STATUS = ? WHERE del_flag = '0' AND FILLINYEAR = ? AND UNITID = ? ;end; 
    2018-05-18 09:11:37,787 DEBUG [modules.stat.dao.FillininfoDao.setStatus] - ==> Parameters: B01(String), 2018(Integer), 62647d208d924ab8aa81ded8db037530(String), B01(String), 2018(Integer), 62647d208d924ab8aa81ded8db037530(String)
  • 相关阅读:
    hdu 4115 石头剪子布(2-sat问题)
    AFNetWorking POST Multi-Part Request 上传图片
    左右c++与java中国的垃圾问题的分析与解决
    ACM核武器
    MAX2323E
    cocos2d-x 发动机分析:程序如何开始和结束?
    STL 源代码分析 算法 stl_heap.h
    Android 4.4(KitKat)表格管理子系统
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/ZenoLiang/p/10508455.html
Copyright © 2020-2023  润新知