MyBatis的collection类型有哪几种?

MyBatis的 collection 类型主要有以下几种:

  1. bag:类似于 set,它的内容是无序的。
<collection property="addresses" ofType="com.itzhimei.Address" bag="true"> 
</collection>
  1. list:类似于数组,它的内容是有序的。
<collection property="addresses" ofType="com.itzhimei.Address" list="true">
</collection>
  1. map:其内容是键值对。
<collection property="addresses" ofType="com.itzhimei.Address" map="true">
</collection>

4.工厂集合:其内容是由一个工厂方法创建。

<collection property="addresses"  
   ofType="com.itzhimei.Address"  
   factory="com.itzhimei.AddressFactory" >
</collection>

它可以利用工厂方法产生合适的实例。

5.association: 其内容是另一个对象。

<collection property="addresses"  
       ofType="com.itzhimei.Address"  
       association="com.itzhimei.Person">      
</collection>

5种 collection 类型各有特点:

  • bag:无序集合
  • list:有序集合
  • map: 键值对
  • factory:由工厂产生对象
  • association:关联对象

它们能满足不同属性的集合映射需求。