在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语句中使用的参数的名称。它们是处理集合参数的两个不同属性。