mybatis 批量操作表

来源:互联网 发布:usleep函数 linux 编辑:程序博客网 时间:2024/05/19 16:02
-- DUAL 方式批量插入
<insert id="batchInsert" parameterType="java.util.List">    INSERT INTO 表A(字段A,字段B)    <foreach collection="list" index="" item="别名A" separator="union all">        (select        #{别名A.ckht},#{别名A.B}        from dual)    </foreach></insert>

oreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔 符,close表示以什么结束,在使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,但是在不同情况 下,该属性的值是不一样的,主要有一下3种情况:

如果传入的是单参数且参数类型是一个List的时候,collection属性值为list

如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array

如果传入的参数是多个的时候,我们就需要把它们封

  <insert id="batchInsert" parameterType="java.util.List">      INSERT INTO 表A          (EXAMINE_STATUS,BANK_ACCOUNT)         <foreach collection="list" index="" item="test" separator="union all">             (select            #{test.examineStatus},#{test.bankAccount}             from dual)         </foreach>    </insert>        <update id="batchUpdate" parameterType="java.util.List"><foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">  <if test="item.nsrsbh!=null and item.nsrsbh!='' and item.taxCreditRating!=null">  update 表A  set TAX_CREDIT_RATING = #{item.taxCreditRating} where NSRSBH=#{item.nsrsbh}  </if>  </foreach></update>        <delete id="deleteByIds" parameterType="java.lang.String">delete from 表A  where 字段a in     <foreach collection="array" item="ckht" index="index"              open="(" close=")" separator=",">              #{ckht}          </foreach>     </delete>


阅读全文
'); })();
1 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 跑步踝关节疼痛怎么办 新板鞋磨脚后跟怎么办 旅游鞋磨脚后跟怎么办 脚后跟磨出泡怎么办 背书慢怎么办 手机消磁了怎么办 水补土喷后了怎么办? 镜头不防抖怎么办 棉毛布掉毛怎么办 抑郁症老人该怎么办 压抑症怎么办 心里好压抑怎么办 性压抑怎么办 婚姻感情不好怎么办 心情特别郁闷怎么办 心里压抑该怎么办 德国紧急状况怎么办 宿舍起火怎么办 梦想破灭了怎么办 数字电视有雪花怎么办 去银行怎么办存折 被冒名小额贷款怎么办 网贷被风控了怎么办 别人冒名贷款怎么办 资料被用去贷款怎么办 支付宝已达上限怎么办 零钱支付超额怎么办 84中毒头晕怎么办 消毒水中毒怎么办 消毒液吸入中毒怎么办 婴幼儿嘴唇干裂怎么办 宝宝嘴唇干起皮怎么办 氯气中毒怎么办喝水 轻度氯气中毒怎么办 轻微氯气中毒怎么办 吸了氯气怎么办 吸入少量氯气怎么办 残疾人驾驶证怎么办 夜里尿多怎么办 顺产后尿不出怎么办 金戒指断了怎么办