mybatis实现批量插入的两种方法(MySQL和Oracle)

	<insert id="insertList"  parameterType="java.util.List" useGeneratedKeys="false">
		insert into FLOWD_FLUX_OUT (S_NUMBER,S_TIME,S_VALUE,S_SCHEDULE_NAME,S_USER_NAME,S_REACH)
		values
		<foreach collection="list" item="item" index="index" separator=",">
		   (
             			 #{item.sNumber,jdbcType=DOUBLE}, 
			 			 #{item.sTime,jdbcType=DOUBLE}, 
			 			 #{item.sValue,jdbcType=DOUBLE}, 
			 			 #{item.sScheduleName,jdbcType=VARCHAR}, 
			 			 #{item.sUserName,jdbcType=VARCHAR},
			 			 #{item.sReach,jdbcType=DOUBLE}
		)
		</foreach>
		

	</insert><insert id="insertList"  parameterType="java.util.List" useGeneratedKeys="false">
		insert into FLOWD_FLUX_OUT (S_NUMBER,S_TIME,S_VALUE,S_SCHEDULE_NAME,S_USER_NAME,S_REACH)
		(
		<foreach collection="list" item="item" index="index" separator="union all">
		 select  
             			 #{item.sNumber,jdbcType=DOUBLE}, 
			 			 #{item.sTime,jdbcType=DOUBLE}, 
			 			 #{item.sValue,jdbcType=DOUBLE}, 
			 			 #{item.sScheduleName,jdbcType=VARCHAR}, 
			 			 #{item.sUserName,jdbcType=VARCHAR},
			 			 #{item.sReach,jdbcType=DOUBLE}
             from dual
		
		</foreach>
		)

	</insert>


这里mysql都可以用,但是因为oracle数据库语法原因,oracle只能使用第二种

 

 


版权声明:本文为FANGHAOWEN_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。