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(); } } }
相关推荐
通过Ibatis3xml文件配置+Mysql实现数据批量插入,原先在网上找很多,都是关于批量更新,批量插入的很少,而且其写法又完全不同,所以自己研究了一下。可供参考。另外插入时如出现内容报错,请参照my.cnf修改书库配置...
今天小编就为大家分享一篇关于ibatis结合oracle批量插入三种方法的测评,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
ibatis 读取oracle clob类型
ibatis oracle ibatis-2.3.3.jar ojdbc14.jar ibatis连接oracle所需的jar包
ibatis调用oracle存储过程
ibatis调用oracle存储过程分页
ibatise中关于iterate的用法的例子
Ibatis调用Oracle存储过程,返回自定义的类型。
ibatis+oracle简单实例,其中包括ibatis jar包以及oracle驱动包
spring+ibatis+oracle分页缓存源码
通过foreach实现ibatis的批量插入
使用ibatis+oracle完成简单的增删改查的例子,把源码导入myeclipse,修改链接数据库信息,数据库需要自己建立
本资源适合刚刚接触ibatis+oracle的小伙伴使用,欢迎交流,吐槽。
Spring MVC+ibatis+Oracle资源整合,实现简单的增删改查
spring mvc+ibatis+oracle单表增删改(包都有)
小弟新手,第一次发自己的项目,整合了ssi,实现了ibatis连接oracle的分页,这个分页没有网上说的那么复杂,只是拼了sql分页语句就可以了
struts2+spring+ibatis+oracle+分页搜索+上传附件实例!完整版!
ibatis调用oracle的函数,存储过程的方法,从网上收集的,还没有整理。
最近遇到需要批量update数据的问题,一开始用了一个for循环去update,数据量大的时候效率很低。原因是for循环每次update一条语句,都是一次连接...在google上找了一遍,发现ibatis里有对批量update的支持,挺好的东西。