mybatis+oracle批量插入

网上转的:

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


  1. <insert id="insertBatch" parameterType="ArrayList" useGeneratedKeys="true">  

  2.           

  3.         INSERT INTO DEPT(DEPTNO , DNAME , LOC) SELECT S_FORUM_USERID.NEXTVAL , A.* FROM (  

  4.         <foreach collection="list" item="item" index="index" separator="UNION">  

  5.             SELECT #{item.dname} , #{item.loc} FROM DUAL  

  6.         </foreach>  

  7.         ) A  

  8.     </insert>  

太聪明 了;

另外mysql应该是如下操作(没有验证):

  1. <insert id="insertColumnitem" parameterType="java.util.List"> 

  2.     INSERT INTO REPORT_COLUMNITEM 

  3.     (COLUMN_LABEL,COLUMN_FIELD,COLUMN_INDEX,REPORT_ID,COMMENTS)VALUES 

  4.     <foreach collection="list" item="item" index="index" separator=",">   

  5.         (#{item.columnLabel,jdbcType=VARCHAR},#{item.columnField,jdbcType=VARCHAR},#{item.columnIndex,jdbcType=NUMERIC},#{item.reportId,jdbcType=NUMERIC},#{item.comments,jdbcType=VARCHAR}) 

  6.     </foreach> 

  7. </insert> 


你可能感兴趣的:(mybatis+oracle批量插入)