qq_22948413 2015-08-18 08:20 采纳率: 44.4%
浏览 1566

M y b a t i s批量添加

  insert into USER_ROLE_AUT 
    (RU_ID,RU_ROLE_ID, RU_AUT_ID, RU_TIME_INS, RU_USER_INS, RU_TIME_LST, RU_USER_LST, RU_STATUS) 
        select U.* from USER_ROLE_AUT
     ( <foreach collection="maps" item="item" index="index" separator="union all" >  
         select
                RU_ID_SEQ.Nextval,
                #{item.ruRoleId,jdbcType=DECIMAL}, 
                #{item.ruAutId,jdbcType=DECIMAL}, 
                #{item.ruTimeIns,jdbcType=TIMESTAMP}, 
                #{item.ruUserIns,jdbcType=VARCHAR}, 
                #{item.ruTimeLst,jdbcType=TIMESTAMP}, 
                 #{item.ruUserLst,jdbcType=VARCHAR},
                  #{item.ruStatus,jdbcType=DECIMAL}
        from USER_ROLE_AUT
    </foreach>
    )U  

帮忙看看有没有写错
  • 写回答

3条回答 默认 最新

  • qq_30682133 2015-08-18 09:15
    关注

    values呢?还有新增还能查询?

    评论
  • 丵鹰 2015-08-18 10:14
    关注

    这是我写的批量插入,

     <insert id="insertSelective" useGeneratedKeys="true" parameterType="java.util.List">
        <!--
          WARNING - @mbggenerated
          This element is automatically generated by MyBatis Generator, do not modify.
        -->
        <selectKey keyProperty="id" order="BEFORE" resultType="java.math.BigDecimal">
          select DISCOUNT_COUPON_PERSON_SEQ.NEXTVAL from DUAL
        </selectKey>
        insert into T_DISCOUNT_COUPON_PERSON
         ( ID,
            USER_ID,
            COUPON_ID,
            ORDER_SHOP_ID,
            COUPON_GET_WAY,
            COUPON_GET_CHANNEL,
            COUPON_GET_DATE,
            COUPON_USE_DATE,
            MONEY_BACK_APPLY_DATE,
            COUPON_USE_STATUS,
            CANCEL_LOCK_REASON,
            CREATE_TIME,
            MODIFY_TIME)
            select logsaccessseq.NEXTVAL,a.* from (
            <foreach collection="list" item="item" index="index"
                separator="union all">
                select
                #{item.userId,jdbcType=DECIMAL} as userId,
                #{item.couponId,jdbcType=VARCHAR} as couponId,#{item.orderShopId,jdbcType=VARCHAR} as orderShopId,#{item.couponGetWay,jdbcType=VARCHAR} as couponGetWay,
                #{item.couponGetChannel,jdbcType=VARCHAR} as couponGetChannel,#{item.couponGetDate,jdbcType=TIMESTAMP} as couponGetDate,#{item.couponUseDate,jdbcType=TIMESTAMP} as couponUseDate,
                #{item.moneyBackApplyDate,jdbcType=TIMESTAMP} as moneyBackApplyDate,#{item.couponUseStatus,jdbcType=VARCHAR} as couponUseStatus,#{item.cancelLockReason,jdbcType=VARCHAR} as cancelLockReason,
                #{item.createTime,jdbcType=TIMESTAMP} as createTime,#{item.modifyTime,jdbcType=TIMESTAMP} as modifyTime
                from dual
            </foreach>
            ) a
      </insert>
    
    评论
  • Evankaka 博客专家认证 2015-08-18 14:34
    关注


    改成

    评论

报告相同问题?

悬赏问题

  • ¥15 在工控机(Ubuntu系统)上外接USB蓝牙硬件进行蓝牙通信
  • ¥15 关于PROCEDURE和FUNCTION的问题
  • ¥100 webapi的部署(标签-服务器)
  • ¥20 怎么加快手机软件内部计时的时间(关键词-日期时间)
  • ¥15 C语言除0问题的检测方法
  • ¥15 为什么四分管的内径有的是16mm有的15mm,四分不应该是12.7mm吗
  • ¥15 macos13下 ios交叉编译的问题
  • ¥15 bgz压缩文件怎么打开
  • ¥15 封装dll(引入了pcl的点云设计库)
  • ¥30 关于#开发语言#的问题:我需要在抄板的基础上再抄板抄程序,根据RDA8851CM基础上开发