在MyBatis中,ofType
和collection
是兩個不同的屬性,用來處理參數傳遞給SQL語句中的集合參數。
ofType
屬性用于指定集合中元素的類型,可以指定Java集合類的泛型類型。例如:<parameterMap id="parameterMap" type="java.util.List">
<parameter property="list" javaType="java.util.List" ofType="java.lang.String"/>
</parameterMap>
在這個例子中,ofType
指定了集合中元素的類型為java.lang.String
。
collection
屬性用于指定SQL語句中使用的參數的名稱。例如:<select id="selectByIds" resultMap="userResultMap">
SELECT *
FROM user
WHERE id IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
${id}
</foreach>
</select>
在這個例子中,collection
指定了在<foreach>
標簽中使用的集合參數的名稱為ids
。
總結來說,ofType
用于指定集合中元素的類型,而collection
用于指定SQL語句中使用的參數的名稱。它們是處理集合參數的兩個不同屬性。