在MyBatis中,使用in查詢語法可以使用foreach標(biāo)簽來實(shí)現(xiàn)?;菊Z法如下:
<select id="selectByList" parameterType="java.util.List" resultType="com.example.User">
SELECT * FROM user
WHERE id IN
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
在上面的例子中,selectByList
是SQL語句的id,java.util.List
是傳入?yún)?shù)的類型,com.example.User
是查詢結(jié)果的類型。在foreach標(biāo)簽中,collection
屬性指定了傳入的List參數(shù),item
屬性指定了每個(gè)元素的別名,open
屬性指定了in查詢的括號(hào)開頭,separator
屬性指定了每個(gè)元素之間的分隔符,close
屬性指定了in查詢的括號(hào)結(jié)尾。在foreach標(biāo)簽中使用#{item}
獲取List中的每個(gè)元素。