mybatis中的foreach中的open="(" separator="," close=")"不能随意去写

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xcc_2269861428/article/details/88950200

第一种情况

<delete id="deleteData" parameterType="java.util.Map" >
		delete from oppo_downloading_daily where start_time &gt;= #{startTime} and end_time &lt;= #{endTime} and channel = #{channels} and owner_id 
		in	
 		<foreach item="item" index="index" collection="ids"  open="(" separator="," close=")"> 
			#{item} 
 		</foreach>
	</delete>

此种写法是后面跟着

delete from oppo_downloading_daily where start_time &gt;= #{startTime} and end_time &lt;= #{endTime} and channel = #{channels} and owner_id in(?,?,?,?,?)
 

第二种情况

insert into ${tableName}
		(date,account_id,account_name,campaign_name,group_name,creative_name,views,clicks,totalCost)
		values
		<foreach collection="costReportList" item="item" index="index" separator="," >
		   (#{item.date},
			#{item.accountId},
			#{item.accountName},
			#{item.campaignName},
			#{item.groupName},
			#{item.creativeName},
			#{item.views},
			#{item.clicks},
			#{item.totalCost}
			)
		 </foreach>		

此种写法  后面会跟

 insert into ${tableName}
        (date,account_id,account_name,campaign_name,group_name,creative_name,views,clicks,totalCost)
        values(?,?,?,?,?,?),(?,?,?,?,?,?),(?,?,?,?,?,?)

所以在使用时,一定不能随便定义括号的位置

猜你喜欢

转载自blog.csdn.net/xcc_2269861428/article/details/88950200