mybatis使用foreach批次插入,解决sequence只查询一次的问题
oracle的批量插入方式是:
insert into db(id, zgbh, shbzh) select '1', '2', '3' from dual union all select '2', '3', '4' from dual union all select '3', '4', '5' from dual union all select '4', '5', '6' from dual union all select '5', '6', '7' from dual
成功代码如下:
<insert id="batchInsert" parameterType="java.util.List"> INSERT INTO T_SYS_RESOURCE (RES_ID,RES_CODE,RES_NAME,REMARK,RES_TYPE_ID,INIT_FLAG) SELECT SEQ_SYS_RESOURCE.NEXTVAL,A.RES_CODE,A.RES_NAME,A.REMARK,A.RES_TYPE_ID,A.INIT_FLAG FROM( <foreach collection="list" item="item" index="index" separator="UNION ALL" > SELECT #{item.resCode} RES_CODE,#{item.resName} RES_NAME,#{item.remark} REMARK, #{item.resType.resTypeId} RES_TYPE_ID,#{item.initFlag} INIT_FLAG FROM DUAL </foreach> ) A </insert>
foreach拼出来的数据作为一张表A,然后从表A中查询数据,再接上从sequence中读取的值作为id。这样sequence的值就会多次读取,id就会不一样。
相关推荐
oracle批量生成数据脚本,oracle批量生成数据脚本,oracle批量生成数据脚本,oracle批量生成数据脚本。
oracle 批量插入数据存储过程。亲测好用。支持 plsql ,toad,等数据库分析软件。主要包括变量的定义,循环及游标的使用等, 亲测好用
考虑到当Excel数据量较大时,循环Insert语句效率太低,故采用批量插入的方法。在插入操作运行时,会造成系统短暂的“卡死”现象。为了让用户知道插入的状态,需要制作一个进度条来显示插入的进度。 批量插入 项目中...
oracle 批量插入存储过程,性能非常高!
数据库做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条 SQL快速生成大量的测试数据的方法。 产生测试数据的SQL如下...
可实现批量插入记录,免去一条条复制语句之苦.
本篇文章将详细介绍如何利用Java和MyBatis实现批量插入数据到Oracle数据库中。 首先,我们需要理解Oracle数据库的一些基本概念。Oracle是世界上最流行的商业关系型数据库管理系统之一,以其强大的功能和高可靠性而...
### Oracle批量插入原理 批量插入(Bulk Insert)指的是将一组数据一次性地插入到数据库表中,与单条插入相比,它可以减少网络往返次数和事务开销,从而提升性能。在Oracle中,批量插入主要通过以下两种方式实现: ...
### Java代码实现Oracle数据库批量插入的关键知识点 #### 1. JDBC连接配置 - **JDBC URL**: `jdbc:oracle:thin:@IP:1521:orcl`,这里的URL指定了连接到Oracle数据库的方式。其中`@IP:1521:orcl`中的IP是指数据库...
C#实现Oracle数据批量导入 在本文中,我们将讨论如何使用C#语言实现对Oracle数据库的批量数据导入功能。本文的主要内容包括如何使用Oracle.DataAccess.Client命名空间来实现批量导入功能,以及如何使用SqlBulkCopy...
以下将详细介绍标题中提到的三种Oracle批量插入数据的方法。 ### 第一种:PL/SQL块 这是最直接的批量插入方式,通过在PL/SQL匿名块中使用多个`INSERT`语句。这种方式适用于少量数据的插入,例如: ```sql BEGIN ...
"iTelluro.Tools.SqlIndex"这个工具很可能是一个帮助管理和优化数据库索引的实用程序,可能提供了图形化界面或API,使得在Oracle和SQL Server之间进行索引的批量创建和删除变得更加便捷。使用这样的工具,可以大大...
3. **批量插入**:在Oracle OCI中,批量插入通常涉及使用oci_bind_array_by_name函数将一组数据绑定到同一个SQL插入语句中的多个占位符。这组数据可以是二维数组或其他合适的数据结构。执行oci_execute时,数据库一...
本教程将详细讲解如何进行批量插入数据到Oracle数据库,以提高数据导入的效率。 批量插入数据到Oracle数据库通常比单条插入更有效率,因为它减少了与数据库的交互次数,降低了网络延迟,并减少了系统资源的占用。...
总之,Oracle批量插入的优化和MyBatis Generator的使用是提升开发效率和数据库性能的重要手段。正确理解和运用这些技术,能够帮助我们在项目开发中事半功倍,为高质量的软件产品打下坚实的基础。
oracle中insert, 插入批量插入及union
在Oracle数据库中,进行多表关联的批量插入、批量更新和批量删除操作是常见的数据库管理任务,尤其是在处理大量数据时,这些操作能显著提高效率并减少资源消耗。本文将详细探讨这三个方面,并通过实例代码来展示如何...
mysql 数据库已存储过程插入一千万条测试数据!利用项目即将上限需要,可以完全系统的测试项目性能!里面又完整的文档和各项说明:打开文档就可以实际操作。