首页 > 数据库 >mybatis oracle数据库批量插入数据,忽略主键重复

mybatis oracle数据库批量插入数据,忽略主键重复

时间:2024-03-14 13:33:34浏览次数:30  
标签:SKU item idempotent QTY mybatis oracle qty 主键

dao方法

Integer insertPackagesNew(@Param("list") List<InfCollectpackage> list);

mapper.xml

    <insert id="insertPackagesNew" parameterType="java.util.List">
        MERGE INTO INF_COLLECTPACKAGE A
        USING (<foreach collection="list" item="item" index="index" separator="union">
            SELECT #{item.idempotent} idempotent, #{item.waveno} waveno, #{item.workstation} workstation, #{item.binno} binno
        ,#{item.shopid} shopid, #{item.shopname} shopname, #{item.packageno,} packageno, #{item.sku} sku
        ,#{item.batchno} batchno, #{item.barcode} barcode, #{item.goodsname} goodsname, #{item.qty} qty
        ,#{item.collectpackagetime} collectpackagetime, #{item.zt} zt, #{item.qty_num} qty_num, #{item.xiactime} xiactime
        from dual
        </foreach>) B
        ON (A.idempotent = b.idempotent)
        WHEN NOT MATCHED THEN
        INSERT
        (IDEMPOTENT,WAVENO,WORKSTATION,BINNO,SHOPID,
        SHOPNAME,PACKAGENO,SKU,BATCHNO,BARCODE,
        GOODSNAME,QTY,COLLECTPACKAGETIME,ZT,
        QTY_NUM,XIACTIME)
        VALUES
        (B.IDEMPOTENT, B.WAVENO, B.WORKSTATION, B.BINNO, B.SHOPID,
         B.SHOPNAME, B.PACKAGENO, B.SKU, B.BATCHNO, B.BARCODE,
         B.GOODSNAME, B.QTY, B.COLLECTPACKAGETIME, B.ZT,
         B.QTY_NUM, B.XIACTIME)
    </insert>

标签:SKU,item,idempotent,QTY,mybatis,oracle,qty,主键
From: https://www.cnblogs.com/williamvsyao/p/18072661

相关文章

  • 数据库设计规范-Oracle
    参照以下原则进行数据库设计:1.方便业务功能实现、业务功能扩展。2.方便设计开发、增强系统的稳定性和可维护性。3.保证数据完整性和准确性。4.提高数据存储效率,在满足业务需求的前提下,使时间开销和空间开销达到优化平衡。项目信息化建设全文档:软件开发全套资料_数字中台......
  • oracle数据库 ,当某个字段为空,用 != null 查询不出来
     oracel中某个字段有varchar类型,有三个属性值:null,service,center,当向查询不要center的值搂数据时,SELECTCOUNT(1)FROMT_MOCK_TASKWHERE RUN_ON!='CENTER'查出来的不包括null的,只能查出来等于service的;null的用 run_on='',也查不出来,需要用isnull才能查......
  • MyBatis原理解析
    MyBatis入门的四行代码 //<1>加载配置文件 InputStreamis=Resources.getResourceAsStream("mybatis.xml"); //<2>创建sessionFactory对象 sessionFactory=newSqlSessionFactoryBuilder().build(is); //<3>获取sqlSession对象信息SqlSessionsessio......
  • Oracle EMCC数据库集中管理平台安装配置与使用
    一、风哥OracleEMCC数据库集中管理平台培训本课程由风哥发布的OracleEMCC课程,学完本课程可以掌握OracleEMCC基础知识,OracleEMCC安装要求,ORACLEEMCCforLinux环境准备,ORACLEEMCCOMR资料数据库安装,OracleEMCC管理平台安装,OracleEMCC启动停止与基本命令,OracleEMCC管理主......
  • ORACLE 19C 报错总结
    使用sys用户登录sqlplus后,startup命令启动Oracle时报ORA-01078和LRM-00109错误,如下所示:SQL>conn/assysdbaConnectedtoanidleinstance.SQL>startupORA-01078:failureinprocessingsystemparametersLRM-00109:couldnotopenparameterfile'/home/oracle......
  • Oracle REDO Log详解
    Redo日志文件是Oracle数据库中的非常重要的文件,它记录了对数据库所做的所有更改操作,当事务对数据库进行修改时,Oracle首先将更改写入到REDO日志文件,然后再修改应用到数据文件中。这样可以确保在发生故障时,Oracle可以使用REDO日志来恢复已提交的事务。REDO日志和Archive日志区别......
  • MyBatis拦截器执行流程!!!
    前提:将自定义的拦截器注入IOC容器。1、创建自定义拦截器,实现Interceptor接口,重写interceptor()方法2、在自定义拦截器上使用@Interceptors注解,在该注解中使用@Signature指定拦截的接口类型,方法名与参数类型。实例:/**Copyright(c)2020,2024,Allrightsreserved.......
  • Oracle表空间扩展
    1、查看所有表空间使用情况selectb.file_id文件ID号,b.tablespace_name表空间名,b.bytes/1024/1024||'M'字节数,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M'已使用,sum(nvl(a.bytes,0))/1024/1024||'M'剩余空间,100-sum(nvl(......
  • Mybatis20_MyBatis核心配置文件深入7
    一、typeHandler概述无论是MyBatis在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时,都会用类型处理器将获取的值以合适的方式转换成Java类型。下表描述了一些默认的类型处理器(截取部分)。你可以重写类型处理器或创建你自己的类型处理器来......
  • Oracle创建用户,授权,取消授权常用语句整理
    --删除用户及及用户下的所有数据dropuserxxxcascade;--创建用户赋予密码createuserxxxidentifiedby1234;--赋予权限grantdbatoxxx;--删除权限revokedbafromxxx;--赋予用户登录数据库的权限grantcreatesessiontoxxx;--授予用户操作表的权限gran......