日期:2014-05-16  浏览次数:20455 次

ibatis 参数为数组

<!-- 快速插入Demo -->
	<insert id="sendMailFast" parameterClass="java.util.ArrayList">
		insert into mail(sender,reciver,content,type,flag,sendTime,endTime,goodId,msType,msNum) values
		<iterate conjunction=",">
		(#value[].sender#,#value[].reciver#,#value[].content#,#value[].type#,#value[].flag#,#value[].sendTime#,#value[].endTime#,#value[].goodId#,#value[].msType#,#value[].msNum#)
		</iterate>
	</insert>

	<!-- 删除指定邮件 -->
	<delete id="deleteMail" parameterClass="java.util.ArrayList">
		delete from mail where id in
		<iterate conjunction="," open="(" close=")">
			#value[]#
		</iterate>
	</delete>

?这个写法验证无错,但是还是不太明白这个#value[]#,有时上网说是要写成这样:

ibatis 数组参数
2010-05-02 13:31

用迭代来实现,用parameterClass?来接收然后通过<iterate>整个集合

Iterate的属性:
prepend?
?可被覆盖的SQL成部分,添加在句的前面(可
property?
?java.util.List的用于遍的元素(必