mybatis怎么傳入數(shù)組并遍歷

小億
292
2023-11-09 15:30:35

在MyBatis中,可以使用foreach標(biāo)簽來(lái)傳入數(shù)組并遍歷。你可以按照以下步驟進(jìn)行操作:

  1. 在你的SQL語(yǔ)句中使用in關(guān)鍵字,并使用#{}來(lái)表示參數(shù),例如:
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指定分隔符。

  1. 在你的Mapper XML文件中,使用foreach標(biāo)簽來(lái)遍歷數(shù)組:
<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。

  1. 在Java代碼中,傳入一個(gè)包含要查詢的id的List對(duì)象:
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ù)組并遍歷了。

0