1.只批量插入:
insert into WXPAY_ACCOUNT
(
id ,
out_trade_no ,
transaction_id
)
select SEQ_WXPAY_ACCOUNT.nextval id,a.* FROM (
SELECT
#{wxpayAccount.outTradeNo ,jdbcType=VARCHAR},
#{wxpayAccount.transactionId ,jdbcType=VARCHAR}
FROM dual
) a
2.批量插入(存在不插入)
merge into WXPAY_ACCOUNT wa using (
SELECT
#{wxpayAccount.outTradeNo ,jdbcType=VARCHAR} as out_trade_no ,
#{wxpayAccount.transactionId ,jdbcType=VARCHAR} as transaction_id
FROM dual
 ) a ON (
wa.out_trade_no = a.out_trade_no and wa.transaction_id = a.transaction_id
) when NOT MATCHED THEN
INSERT (
id ,
out_trade_no ,
transaction_id
) VALUES (
SEQ_WXPAY_ACCOUNT.nextval    ,
a.out_trade_no ,
a.transaction_id
)
3.批量更新:
update wxpay_account w SET CHECK_STATUS =1
WHERE EXISTS (
SELECT 1 FROM (
SELECT wa.id FROM wxpay_account wa INNER JOIN PAYMENT_ORDER po
ON po.PAYNO = wa.OUT_TRADE_NO AND wa.OUT_REFUND_NO = ‘0’
AND wa.CHECK_STATUS = 0 AND wa.TOTAL_FEE = po.PAYAMOUNT
AND po.PAYTYPE = ‘wxpay’ AND to_char(wa.TRADE_TIME,‘yyyyMMdd’) = #{billDate}
AND po.createtime BETWEEN to_date(#{billDate},‘yyyy-MM-dd’) -1 AND to_date(#{billDate},‘yyyy-MM-dd’) +1
AND substr(wa.OUT_TRADE_NO,1,3) = #{billStart}
UNION ALL
SELECT rwa.id FROM wxpay_account rwa INNER JOIN PAYMENT_ORDER rpo
ON rpo.payno = rwa.OUT_REFUND_NO
AND rwa.CHECK_STATUS = 0 AND rwa.SETTLEMENT_REFUND_FEE = rpo.PAYAMOUNT
AND rpo.PAYTYPE = ‘wxpay’ AND to_char(rwa.TRADE_TIME,‘yyyyMMdd’) = #{billDate}
AND rpo.createtime BETWEEN to_date(#{billDate},‘yyyy-MM-dd’) -1 AND to_date(#{billDate},‘yyyy-MM-dd’) +1
AND substr(rwa.OUT_TRADE_NO,1,3) = #{billStart}
AND substr(rwa.OUT_REFUND_NO,1,3) = #{billStart}
) b where w.id = b.id
)

mybatis+oracle 批量插入,若数据库中有则做更新操作的更多相关文章

  1. mybatis+Oracle 批量插入数据,有数据做更新操作

    <!-- 批量添加 -->     <insert id="batchAdd" parameterType="java.util.List"& ...

  2. MyBatis Oracle批量插入

    1.oracle如何insert into 多个values https://www.cnblogs.com/mq0036/p/6370224.html?utm_source=itdadao& ...

  3. mybatis+oracle批量插入报不符合协议和sql未正确结束

    在Java中循环save,需要加useGeneratedKeys="false",否则报错不符合协议 mybatis批量插入,也需要在insert里加入 useGeneratedK ...

  4. mybatis Oracle 批量插入,批量更新

    传入的参数只要是list类型的参数就行了..............1.批量插入<insert id="insertBatch" parameterType="ja ...

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

    <insert id="batchUpdatePBWUserInfo" parameterType="java.util.List"> MERGE ...

  6. mybatis foreach批量插入数据:Oracle与MySQL区别

    mybatis foreach批量插入数据:Oracle与MySQL不同点: 主要不同点在于foreach标签内separator属性的设置问题: separator设置为","分 ...

  7. mybatis+oracle 完成插入数据库,并将主键返回的注意事项

    mybatis+oracle 完成插入数据库,并将主键返回的注意事项一条插入语句就踩了不少的坑,首先我的建表语句是: create table t_openapi_batch_info( BATCH_ ...

  8. mysql基础---->mybatis的批量插入(一)

    这里面记录一下使用mybatis处理mysql的批量插入的问题,测试有可能不准.只愿世间风景千般万般熙攘过后,字里行间,人我两忘,相对无言. mybatis的批量插入 我们的测试主体类是springb ...

  9. oracle 批量插入-支持序列自增

    1.创建表.序列 -- Create table create table test_batch ( id number not null, name ), account ) ) -- Create ...

随机推荐

  1. ios 自动去重

      //resultArrM 数据原//_indexArray 过滤后的数据//MYSelectAreaModel 模型 /* 重定义索引 */ - (void)sy_indexArray{ /* 索 ...

  2. ehcache快速入门

    前言 JAVA缓存实现方案有很多,最基本的自己使用Map去构建缓存,或者使用memcached或Redis,但是上述两种缓存框架都要搭建服务器,而Map自行构建的缓存可能没有很高的使用效率,那么我们可 ...

  3. LeetCode_9. Palindrome Number

    9. Palindrome Number Easy Determine whether an integer is a palindrome. An integer is a palindrome w ...

  4. css解决fixed布局不会出现滚动条的问题

  5. django ORM中的复选MultiSelectField的使用

    下载和介绍: https://pypi.org/project/django-multiselectfield/ 在django ORM的使用中,经常会出现选择的情况,例如: class person ...

  6. tomcat8.5.37设置虚拟目录

    之前做的solr和tomcat是放在tomcat的webapps下 solr7.2.1+tomcat8.5.37+jdk8安装配置 现在就是放在其他,通过tomcat的server.xml配置虚拟目录 ...

  7. 码云、coding拉取项目代码

    1.git init 2.git remote add origin "你的码云或coding项目地址(ssh或https)" 3.git pull origin master

  8. [转帖CCIX]

    业界七巨头联手,数据中心通过PCIe实现25Gbps数据通信! 2017-06-07 17:31 CCIX(Cache Coherent Interconnect for Accelerators,针 ...

  9. [转帖]【Oracle】详解Oracle中NLS_LANG变量的使用

    [Oracle]详解Oracle中NLS_LANG变量的使用 https://www.cnblogs.com/HDK2016/p/6880560.html NLS_LANG=LANGUAGE_TERR ...

  10. SSM框架的整合与使用——实现简单的转账系统

    一.整合思路 SSM框架即SpringMVC + Spring + MyBati框架集,是一种轻量级的Web开源框架.它们各自在JAVA三层架构中负责的模块如下图所示: 其中,SpringMVC与Sp ...