mybatis+oracle+批量insert批量update



   insert into sys_org2
   ()
   
      select
      #{sysOrg.orgId,jdbcType=NUMERIC},
      #{sysOrg.demId,jdbcType=NUMERIC},
      #{sysOrg.orgName,jdbcType=VARCHAR},
      #{sysOrg.orgDesc,jdbcType=VARCHAR},
      #{sysOrg.orgSupId,jdbcType=NUMERIC},
      #{sysOrg.path,jdbcType=VARCHAR},
      #{sysOrg.orgPathname,jdbcType=VARCHAR},
      #{sysOrg.depth,jdbcType=NUMERIC},
      #{sysOrg.orgType,jdbcType=NUMERIC},
      #{sysOrg.creatorId,jdbcType=NUMERIC},
      #{sysOrg.createtime,jdbcType=TIMESTAMP},
      #{sysOrg.updateId,jdbcType=NUMERIC},
      #{sysOrg.updatetime,jdbcType=TIMESTAMP},
      #{sysOrg.sn,jdbcType=NUMERIC},
      #{sysOrg.fromType,jdbcType=NUMERIC}
      from dual
   

 



  
  UPDATE  表名
  SET   USER_NAME = #{item.userName,jdbcType=VARCHAR},
            RR1 = #{item.rr1,jdbcType=NUMERIC}
   WHERE USER_CODE = #{item.userCode,jdbcType=VARCHAR} AND TIME_DATE = #{item.timeDate,jdbcType=VARCHAR}
   

注意:批量插入和更新时如果数据很多,导致sql语句过长时插入或者更新会报错:java.sql.SQLSyntaxErrorException 无效的主机/绑定变量名;大量数据批量操作可以分批操作;

你可能感兴趣的:(oracle,java)