Mybatis传入list集合与数组对应的mapper文件应该怎么写foreach标签

Mybatis对应的foreach中添加list集合标签应该这样写:

<select id="getUserByShuzuIds" resultType="User">
		select * from user
		<where>
			<foreach collection="list" item="item" separator=","
				open=" id in(" close=")">
				#{item}
			</foreach>
		</where>
	</select>

Mybatis对应的foreach中添加数组集合标签应该这样写:

<select id="getUserByListIds" resultType="User">
		select * from user
		<where>
			<foreach collection="array" item="item" separator=","
				open=" id in(" close=")">
				#{item}
			</foreach>
		</where>
	</select>

这样就可以实现传入list集合或者数组集合的书写方式了,希望对你有帮助。

需要注意的是,你传入的list和array对应的不是名称,而是list和array,这是因为Mybatis会将你传入的数据添加到一个Map中,它会根据map的key去找对应的value,而list和数组存的对应的key分别为list和array。所以这一点需要注意。喜欢的朋友可以关注我微信的公众号:从小白到架构师。我会每天更新学习内容的。

发布了28 篇原创文章 · 获赞 9 · 访问量 8809

猜你喜欢

转载自blog.csdn.net/wb785074651/article/details/100621780