Collection中的至少四个方法及作用
时间: 2023-05-12 13:04:06 浏览: 57
1. add(Object obj): 将指定的元素添加到集合中。
2. remove(Object obj): 从集合中删除指定的元素。
3. size(): 返回集合中元素的数量。
4. contains(Object obj): 判断集合中是否包含指定的元素。
相关问题
mybatis中collection中的参数作用
在Mybatis的collection标签中,有以下几个重要的参数:
1. property:指定Java对象中集合类型属性的名称,用于表示要映射的集合数据。
2. ofType:指定Java对象集合中元素的类型。这个参数一般用于泛型集合,可以告诉Mybatis集合中元素的具体类型。
3. column:指定关联查询语句中的列名,用于确定关联关系。这个参数一般用于嵌套查询,可以通过某个列与主查询进行关联。
4. select:指定用于关联查询的SQL语句或映射器方法的名称。这个参数一般用于嵌套查询,可以通过执行关联查询获取集合数据。
5. fetchType:指定集合的加载方式。有两个可选值,分别是lazy和eager。lazy表示延迟加载,只有在使用集合数据时才会进行加载;eager表示立即加载,会在主查询执行时同时加载集合数据。
这些参数可以根据需要来灵活配置,以实现对一对多关系的映射和操作。
mybatis中collection中再写一个collection
MyBatis中的collection标签可以用于处理嵌套的集合类型,但是不支持在collection标签中再写一个collection标签。如果需要处理嵌套的集合类型,则需要使用嵌套的resultMap或association标签来处理。
举个例子,如果有一个Order对象,其中包含多个OrderItem对象,而每个OrderItem对象又包含多个Product对象,可以按以下方式编写映射文件:
```
<resultMap id="orderResultMap" type="Order">
<id property="id" column="order_id"/>
<result property="orderNo" column="order_no"/>
<collection property="orderItems" ofType="OrderItem">
<id property="id" column="item_id"/>
<result property="quantity" column="quantity"/>
<result property="price" column="price"/>
<association property="product" javaType="Product">
<id property="id" column="product_id"/>
<result property="name" column="product_name"/>
<result property="description" column="product_desc"/>
</association>
</collection>
</resultMap>
```
可以看到,在处理嵌套集合类型时,使用了association标签来处理嵌套的Product对象。