`
郑云飞
  • 浏览: 814578 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ibatis结合Oracle的iterate insert批量插入

 
阅读更多

ibatis批量插入oracle数据库

<insert id="batchInsert" parameterClass="java.util.List">
	INSERT INTO SYS_ROLE_MENU(
	ROLE_ID,	
	MENU_ID	
		)
	SELECT A.*
	FROM (
		<iterate  conjunction ="union all" >
		SELECT
			#list[].key# as ROLE_ID,
			#list[].value# as MENU_ID
		from dual
		</iterate >
	  ) A
	</insert>

   java代码

	   /**
		* 批量插入功能
		*/
	   @SuppressWarnings("unchecked")
	   public void updateBatch(final List<ListKeyValue> list, String roleId) {
		   SqlMapClient sqlMapClientTemplate = baseDao.getSqlMapClient();
		   try {
			   sqlMapClientTemplate.startTransaction();//开启事务
			   /**事务todo start***/
			   /**先执行删除所有**/
			   Map<String,Object> deleteParamMap=new HashMap<>();
			   deleteParamMap.put("id",roleId.split(","));
			   sqlMapClientTemplate.delete("delete",deleteParamMap);
			   sqlMapClientTemplate.insert("batchInsert",list);
			   /**事务todo end***/
			   sqlMapClientTemplate.commitTransaction();//提交事务
		   } catch (SQLException e) {
			   e.printStackTrace();
		   }finally {
			   try {
				   sqlMapClientTemplate.endTransaction();//事务完成
			   } catch (SQLException e) {
				   try {
					   sqlMapClientTemplate.getCurrentConnection().rollback();	//事务回滚
				   } catch (SQLException e1) {
					   e1.printStackTrace();
				   }
				   e.printStackTrace();
			   }
		   }

	   }

 

分享到:
评论

相关推荐

    ibatis3批量插入

    通过Ibatis3xml文件配置+Mysql实现数据批量插入,原先在网上找很多,都是关于批量更新,批量插入的很少,而且其写法又完全不同,所以自己研究了一下。可供参考。另外插入时如出现内容报错,请参照my.cnf修改书库配置...

    ibatis结合oracle批量插入三种方法的测评

    iBatis结合Oracle批量插入三种方法的测评 iBatis是一种流行的持久层框架,提供了对数据库的访问和操作功能。Oracle是目前最流行的关系数据库管理系统之一。今天,我们将讨论iBatis结合Oracle批量插入三种方法的测评...

    ibatis中iterate的例子

    除了基本的`&lt;iterate&gt;`用法,还可以结合其他标签如`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`等进行更复杂的逻辑控制,实现动态SQL生成。 总结来说,`&lt;iterate&gt;`标签是iBatis中处理集合数据的重要工具,它简化了...

    ibatis 读取oracle clob类型

    ibatis 读取oracle clob类型

    ibatis+oracle实例

    在实际项目中,Ibatis与Oracle的结合使用主要体现在以下几个方面: 1. **SQL调优**:Ibatis允许直接编写原生的SQL,便于充分利用Oracle的特性进行性能优化。 2. **事务管理**:Ibatis提供了对数据库事务的控制,...

    ibatis连接oracle所需的jar包

    当使用Ibatis进行Oracle数据库的连接时,需要依赖特定的jar包来实现两者之间的交互。下面我们将详细探讨这些关键的jar包以及它们在Ibatis与Oracle连接中的作用。 1. **ibatis-2.3.3.jar**: 这是Ibatis框架的核心库...

    ibatis调用oracle存储过程分页

    ibatis调用oracle存储过程分页

    ibatis标签

    标题中的“ibatis&lt;iterate&gt;标签”指的是在iBATIS框架中用于动态SQL的一个关键功能。iBATIS是一个优秀的持久层框架,它允许将SQL语句直接嵌入到Java代码中,简化了数据库操作。而`&lt;iterate&gt;`标签是iBATIS提供的一个...

    spring+ibatis+oracle分页缓存源码

    Spring、iBatis和Oracle的结合提供了强大的数据处理能力。本文将深入探讨这些技术如何协同工作,实现高效的分页缓存策略。 首先,Spring是一个开源的Java框架,它为开发人员提供了依赖注入(DI)和面向切面编程...

    Ibatis+Oracle(含对应数据库sql) 源码

    【标题】"Ibatis+Oracle(含对应数据库sql) 源码" 是一个学习和实践Ibatis与Oracle数据库结合使用的资源包。这个资源对于初学者来说尤其有帮助,因为它包含了一个实际项目的源代码和相应的SQL脚本,使得学习者能够...

    ibatis的批量插入DAO实例

    本篇将深入探讨如何在Ibatis中实现批量插入数据的DAO(Data Access Object)实例,以及相关的源码分析。 首先,Ibatis允许我们通过SQL映射文件来定义SQL语句,这种方式比传统的JDBC更加灵活且易于维护。批量插入...

    ibatis调用oracle存储过程

    在IT领域,特别是数据库操作与Java开发中,利用ibatis框架调用Oracle存储过程是一个常见的需求,这不仅能够提升代码的执行效率,还能增强应用程序的安全性。本文将深入解析ibatis如何与Oracle数据库中的存储过程进行...

    Spring MVC+ibatis+oracle框架整合

    本项目整合了Spring MVC、iBatis和Oracle数据库,这三个组件都是企业级应用开发中的重要工具。接下来,我们将深入探讨这三个技术以及它们如何协同工作。 **Spring MVC框架** Spring MVC是Spring框架的一部分,是一...

    ibatis list

    `&lt;insert id="BarkInsertUsers" parameterClass="java.util.List"&gt;`示例展示了如何使用`&lt;iterate&gt;`标签进行批量插入操作。这里`list`是一个包含多个用户对象的List集合,每个用户对象都有其自己的属性,如`user_id`...

    Mybatis 3+Mysql 实现批量插入

    本文将深入探讨如何利用MyBatis框架结合MySQL数据库实现批量插入功能,包括其原理、配置、代码实现以及优化策略。 ### 一、MyBatis框架简介 MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级...

    ibatis + oracle 增删改查例子

    在IT行业中,数据库管理和...总结来说,这个例子展示了如何结合`iBatis`和`Oracle`数据库实现基本的数据操作。通过理解并实践这个例子,开发者可以更深入地了解这两个工具的使用,并能将其应用到更复杂的业务场景中。

    Ibatis调用Oracle存储过程返回自定义类型

    ### Ibatis调用Oracle存储过程返回自定义类型 在企业级应用开发中,尤其是在金融、保险等业务场景中,往往需要处理复杂的数据结构与逻辑。本文将深入探讨如何使用Ibatis框架来调用Oracle数据库中的存储过程,并实现...

    iBATIS操作Oracle CLOB数据

    2. **插入操作**:当向包含CLOB字段的表插入数据时,可以使用`&lt;sql&gt;`和`&lt;insert&gt;`标签,通过`&lt;bind&gt;`或`&lt;param&gt;`来传递CLOB值。例如: ```xml &lt;insert id="insertWithClob" parameterType="map"&gt; INSERT INTO ...

    struts2+spring+ibatis+oracle整合的登陆系统

    总结来说,"struts2+spring+ibatis+oracle整合的登陆系统"是一个综合性的Web应用示例,它展示了如何利用Struts2处理用户交互,Spring管理依赖和事务,iBatis执行数据库操作,以及Oracle存储数据。这样的整合方案为...

Global site tag (gtag.js) - Google Analytics