在MyBatis中,可以使用foreach標(biāo)簽來(lái)傳入數(shù)組并遍歷。你可以按照以下步驟進(jìn)行操作:
SELECT * FROM my_table WHERE id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
在這個(gè)例子中,list是傳入的數(shù)組參數(shù)的名稱,item是在循環(huán)中使用的每個(gè)數(shù)組元素的名稱,open指定in語(yǔ)句的開(kāi)頭,close指定結(jié)尾,separator指定分隔符。
<select id="getData" parameterType="java.util.List" resultType="com.example.MyTable">
SELECT * FROM my_table WHERE id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
在這個(gè)例子中,getData是SQL語(yǔ)句的ID,parameterType指定參數(shù)類型為java.util.List,resultType指定返回結(jié)果的類型為com.example.MyTable。
List<Integer> ids = Arrays.asList(1, 2, 3, 4);
List<MyTable> data = sqlSession.selectList("getData", ids);
在這個(gè)例子中,ids是包含要查詢的id的List對(duì)象,getData是SQL語(yǔ)句的ID,sqlSession是MyBatis的會(huì)話對(duì)象,selectList方法用于執(zhí)行查詢并返回結(jié)果。
通過(guò)以上步驟,你就可以在MyBatis中傳入數(shù)組并遍歷了。