假定场景:批量导入用户信息

一般批量新增使用 SELECT … INSERT INTO 和 INSERT INTO … SELECT

我们这次使用第二种

一、先建一张用户信息表模拟批量导入用户信息

create table u_info{
id NUMBER not null,
info_no VARCHAR2(32) not null,
name VARCHAR2(32) not null,
birthday DATE,
age NUMBER,
create_date DATE not null
}
-- 自动按天数分区
-- tablespace TBS_DATA
--partition by range (create_date) interval (numtodsinterval(1, 'DAY'))
--(partition P20190101 values less than (TO_DATE('2019-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')))
; --create unique index IU_INFO_NO_DATE on u_info (info_no,create_date) tablespace TBS_IDX online local; -- Add comments
comment on table u_info is '用户信息表';
comment on column u_info.id is '主键';
comment on column u_info.info_no is '用户编号';
comment on column u_info.name is '姓名';
comment on column u_info.birthday is '生日';
comment on column u_info.age is '年龄';
comment on column u_info.create_date is '创建时间';

二、mybatis xml(传入集合参数,建议批量数量控制在3000以内)

<insert id="insertBatch" parameterType="java.util.List">
/**UserInfoMapper.insertBatch*/
INSERT INTO u_info(
id,
info_no,
name,
birthday,
age,
create_date
)
SELECT
S.*,
SYSDATE
FROM(
<foreach item="bean" index="index" collection="list" separator="UNION ALL">
SELECT
#{bean.id, jdbcType=DECIMAL},
#{bean.infoNo, jdbcType=VARCHAR},
#{bean.name, jdbcType=VARCHAR},
#{bean.birthday, jdbcType=TIMESTAMP},
#{bean.age, jdbcType=DECIMAL}
FROM DUAL
</foreach>
) S
</insert>

mybatis oracle 批量新增的更多相关文章

  1. mybatis,批量新增、修改,删除

    转载自:http://blog.csdn.net/sanyuesan0000/article/details/19998727 最近需要用到Mybatis批量新增oracle数据库,刚开始在网上找到的 ...

  2. oracle批量新增更新数据

    本博客介绍一下Oracle批量新增数据和更新数据的sql写法,业务场景是这样的,往一张关联表里批量新增更新数据,然后,下面介绍一下批量新增和更新的写法: 批量新增数据 对于批量新增数据,介绍两种方法 ...

  3. Mybatis + Oracle 批量insert的问题

    这个问题真的太坑了 之前用ibatis+sql server 的foreach 很容易就写出来批量insert数据,但是测试后报错:SQL结束格式错误 现在换到银行工作,数据库也换成Oracle了 特 ...

  4. Oracle批量新增数据最佳实践

    一.需求描述 现在的项目改造过程中,从国产的Gbase数据库改造为Oracle数据库,遇到一个问题有的业务操作需要批量新增数据. 这也是一个比较常规的操作,有很多地方确实需要一次性新增多条数据.Gba ...

  5. MyBatis Oracle批量插入

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

  6. [置顶] mybatis的批量新增

    开发项目中,总是与数据打交道,有的时候将数据放入到一个集合中,然后在遍历集合一条一条的插入,感觉效率超不好,最近又碰到这个问题,插入50条数据用了将近1s,完全满足不了系统的需求.效率必须加快,然后网 ...

  7. mybaits实现oracle批量新增数据,回填主键

    项目有需求,百度了很久,反正他们说的方法,我都没成功,我也不知道是不是我写代码的姿势不正确,没办法只能自己想法子了 我们这个项目用到了通过Mapper,通用Mapper里通过OracleProvide ...

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

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

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

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

随机推荐

  1. 最全的WEB前端开发程序员学习清单

    史上最全的WEB前端开发程序员学习清单! 今天为什么要给大家分享这篇文章呢,我发现最近来学前端的特别多,群里面整天都有人问:前端好找工作吗?前端要怎么学啊?前端工资怎么样?前端XX,前端XXX,虽然我 ...

  2. SpringCloud 入门知识篇

    SpringCloud 入门 springcloud 学习 7天学会springcloud 教程 https://www.cnblogs.com/skyblog/category/738524.htm ...

  3. JMS学习二(简单的ActiveMQ实例)

    下载安装ActiveMQ服务,下载地址当然可以去官网下载 http://activemq.apache.org/download-archives.html ActiveMQ安装很简单,下载解压后到b ...

  4. Spring Cloud架构教程 (一)Hystrix监控面板

    下面我们基于之前的示例来结合Hystrix Dashboard实现Hystrix指标数据的可视化面板,这里我们将用到下之前实现的几个应用,包括: eureka-server:服务注册中心 eureka ...

  5. Spring Data JPA(一)简介

    Spring Data JPA介绍 可以理解为JPA规范的再次封装抽象,底层还是使用了Hibernate的JPA技术实现,引用JPQL(Java Persistence Query Language) ...

  6. leetcode-mid-sorting and searching-34 Search for a Range

    mycode   63.98% class Solution(object): def searchRange(self, nums, target): """ :typ ...

  7. 3、electron打包生成exe文件

    打包方式1:DOS窗口命令打包 DOS 下,输入 npm install electron-packager -g全局安装我们的打包神器: cnpm install electron-packager ...

  8. hihoCoder#1879 : Rikka with Triangles (计算几何)

    n<=2000,肯定没有办法把所有三角形找出来全判一遍 对于三角形的三个角,分别计算贡献,锐角的贡献是1倍面积,钝角的贡献是-2倍面积,这样算出角的贡献之后除以3就可以了 每次选择一个点为中心点 ...

  9. 阶段3 1.Mybatis_01.Mybatis课程介绍及环境搭建_04.mybatis概述

  10. LoadRunner11安装及破解

    一.LoadRunner11安装 以管理员身份运行setup.exe 选择第一个LoadRunner完整安装程序 按照界面会弹出以上提示框,直接选择否 检查系统缺少哪些组件,点击“确定”自动安装 点击 ...