mybatis oracle -批量插入,存在则更新

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

注意:1.其中list中放的是个实体对象 list = new ArrayList();

          2.一次最好不要插入太多(本人是每次200,休眠一秒,因为是在循环里面异步处理的),否则会出现一些其他的错误。

          3.程序控制一些插入条数。


        MERGE INTO S_PBW_USER t
        USING (
          
            SELECT 
                  #{item.userId,jdbcType=VARCHAR}      USERID,
                  #{item.userName,jdbcType=VARCHAR}    USERNAME,
                  #{item.userType,jdbcType=VARCHAR}    USERTYPE,
                  #{item.mobile,jdbcType=VARCHAR}      MOBILE,
                  #{item.code,jdbcType=VARCHAR}        USECODE,
                  #{item.companyName,jdbcType=VARCHAR} COMPANYNAME,
                  SYSDATE CREATE_TIME
            FROM DUAL
          
) t1
        ON (t.USER_ID =  t1.USERID )
        WHEN MATCHED THEN
            UPDATE SET t.update_time = t1.CREATE_TIME
        WHEN NOT MATCHED THEN
               INSERT(ID, USER_ID, USER_NAME, MOBILE, CODE, COMPAY_NAME, DEL_FLAG,CREATE_TIME)
              VALUES (t1.USERID, t1.USERID, t1.USERNAME, t1.MOBILE, t1.USECODE, t1.COMPANYNAME, 0,t1.CREATE_TIME)
 

转载于:https://my.oschina.net/huangguangsheng/blog/1925779

你可能感兴趣的:(mybatis oracle -批量插入,存在则更新)