MyBatis批量插入(Oracle数据库)

<insert id="insert" parameterType="ComponentGroups">
   insert into component_groups
   (group_id,package_name,class_name) values (#{group_id},#{package_name},#{class_name})
   <selectKey resultType="java.math.BigDecimal" keyProperty="component_groups_id">
    select COMPONENT_GROUPS_ID.currval from dual
   </selectKey>
</insert>

 

只有这样做才能在输入的ComponentGroups中设置新插入的ID,并且保证ID的增长是+1,而不是加2.其中COMPONENT_GROUPS_ID是component_groups这张表的主键自增序列。

-------------------------------------------

从网上查阅相关资料,整理了一个Oracle批量插入的方法:

 

[java]  view plain copy
  1. <insert id="insertBatch" parameterType="ArrayList" useGeneratedKeys="true">  
  2.         <selectKey keyProperty="deptno" order="BEFORE" resultType="int">  
  3.             SELECT S_FORUM_USERID.NEXTVAL FROM DUAL  
  4.         </selectKey>  
  5.           
  6.         INSERT INTO DEPT(DEPTNO , DNAME , LOC) SELECT S_FORUM_USERID.NEXTVAL , A.* FROM (  
  7.         <foreach collection="list" item="item" index="index" separator="UNION">  
  8.             SELECT #{item.dname} , #{item.loc} FROM DUAL  
  9.         </foreach>  
  10.         ) A  
  11.     </insert>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值