1.批量写入

<insert id="insert" parameterType="java.util.List">insert into user_info(id,name,age)<foreach collection ="list" item ="item" index ="index" open="("  close=")"  separator ="union all"> select #{item.id,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR}, #{item.age,jdbcType=VARCHAR}from dual</foreach >
</insert>

2.批量更新

<update id="updateBatch" parameterType="java.util.List">begin
<foreach collection="list" item="item" index="index" separator=";" > UPDATE USER_INFO<set><if test="null != item.name"><![CDATA[name = #{item.name,jdbcType=VARCHAR}]]></if></set><![CDATA[WHERE  ID = #{item.id,jdbcType=VARCHAR} ]]></foreach>;end;
</update>

3.MERGE INTO

<insert id="insert" parameterType="com.pojo.UserInfo"><selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">SELECT to_char(sysdate,'yyyymmdd')||USER_SEQ.nextval AS ID FROM dual</selectKey>MERGE INTO user_info ui USING (SELECT #{userId} user_id FROM dual) d  ON (ui.userId = d.user_id)  WHEN matched THEN  UPDATE SET ui.name = #{name}WHEN not matched THEN INSERT (ID,user_id,name)VALUES(#{id,jdbcType=VARCHAR},#{userId,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR})
</insert>

mybatis批量写入及批量更新相关推荐

  1. flink批量写入oracle,批量写入目标表存在重复写入问题

    测试场景 源表字符串类型数据存储到目标表整型数据类型,批量写入,发现有重复写入目标表问题 测试的时候发现:当批量写入抛出异常的时候,产生2个结果,1.写入部分数据 2.程序转到处理异常的代码块,在异常 ...

  2. python连接oracle批量写入_批量插入oracle数据库数据

    python初学者,方便下次使用的 def insert_oracle(): con = cx_Oracle.connect('test/123456@IP/test', encoding='utf- ...

  3. mysql list列表批量更新数据,Mybatis传入List实现批量更新的示例代码

    Dao层写法 /** * 批量更新新库存 * @param list * @return */ int updateNewStock(@Param(value = "list") ...

  4. mybatis批量新增和批量更新的效率对比

    今天,为了更多了解下,mybatis批量新增和批量更新在simple/batch模式 + MySQL的rewriteBatchedStatements下效率有什么区别,做了一次实验. 实验结果,让人意 ...

  5. mybatis操作Oracle数据库批量插入与更新、运行注意事项、属性含义

    一.项目需求 针对将近300万用户的用电数据进行统计分析,将结果更新保存Oracle数据库.我需要往一个表里面插入数据,数据量总计在500万条左右.一条一条插入的话非常慢,2万条数据近20分钟,后面就 ...

  6. mybatis入门学习(九) -DB环境切换、使用注解、事务提交、获取自增ID、多参数传参、鉴别器、内置参数、批量写入、Oracle字段无法插入 null 值

    一.多数据库环境切换 1.config配置: <!-- default="mydemo" 指定连接的数据库 --><environments default=&q ...

  7. mybatis generator一对一映射,一对多映射,批量插入,批量更新

    mybatis-generator这是原来的github地址 现在在此基础上添加了一对一和一对多映射配置,配置在table标签上 如果需要一对一配置生成,需要添加插件配置 在context中添加如下配 ...

  8. clickhouse批量写入_交互式分析领域,为何 ClickHouse 能够杀出重围?

    来源:微信公众号:云加社区,作者:姜国强 出处:https://mp.weixin.qq.com/s/9PZTws3KSzlybHXM6XC2hg 导语 | 在百花齐放的交互式分析领域,ClickHo ...

  9. Neo4j图数据库 批量写入与查询

    1 前言 1-1 简介 工作中需要对所有的实体数据进行存储构建实体知识图谱,为基于知识图谱的问答提供数据基础.选择使用Neo4j作为数据库进行存储.以下是关于Neo4j的简介. 1-2 任务背景 将处 ...

  10. 【SpringBoot DB系列】Jooq批量写入采坑记录

    [SpringBoot DB系列]Jooq批量写入采坑记录 前面介绍了jooq的三种批量插入方式,结果最近发现这里面居然还有一个深坑,我以为的批量插入居然不是一次插入多条数据,而是一条一条的插入-,这 ...

最新文章

  1. tableau实战系列(一)-轻松升级你的 Tableau Server
  2. docker——kafka-manager安装
  3. 用Nginx+Lua实现高性能、高可靠、安全的登陆验证
  4. LeetCode 10. 正则表达式匹配(递归/DP)
  5. 7.2版本中安装的插件都是本插件未被启用???
  6. Spring :@Configuration 注解
  7. 计算机代码大全,电脑运行代码大全
  8. 图形学基础--深入浅出的微积分书籍 《普林斯顿微积分读本》和《托马斯微积分》
  9. CPDA数据分析师证书含金量高吗?
  10. 前端导出 xlsx文件
  11. java毕业生设计演唱会网上订票购票系统计算机源码+系统+mysql+调试部署+lw
  12. 高性能计算中的并行计算、分布式计算、网格计算和云计算之间的区别与联系
  13. Word中相邻的两页无法没有对齐的解决方法
  14. win10任务管理器快捷键是什么,win10系统打开任务管理器快捷键
  15. Linux设置自动重启脚本
  16. failed to respond问题查找
  17. 用sed命令shell扩大王林快码词库
  18. 某A的工口游戏创作者体验记(上)
  19. 基于JSP的网络音乐KTV点歌电台网站
  20. 流氓软件 电脑软件管家

热门文章

  1. nodejs 图片处理模块 rotate_会照片处理的不只是ps,还有python!
  2. axios 跨域传参_axios跨域问题
  3. 将字符串转换为数组_LeetCode108-将有序数组转换为二叉搜索树
  4. linux运维必学python吗_Python学习资源整理
  5. python里面Dataset干嘛的_用 Python 对成绩分类汇总!
  6. 算法解题方法:求和问题preSum方法
  7. Vue:vue过滤器的使用、借助第三方库moment.js实现时间过滤器
  8. Node.js:封装Node通用web容器
  9. Quill富文本编辑器—多图片视频混合上传示例
  10. OGG工作原理(Oracle Golden Gate)