映射集合属性

类中集合表示:

private Set<String> addressSet = new HashSet<String>(); // Set集合
private List<String> addressList = new ArrayList<String>(); // List集合
private String[] addressArray; // 数组
private Map<String, String> addressMap = new HashMap<String, String>();
private List<String> addressBag = new ArrayList<String>();

映射文件中的写法:

<!-- addressSet属性,Set集合 
			table属性:集合表的名称
			key子元素:集合外键的列名
			element子元素:存放集合元素的列的信息
			sort属性:"unsorted|natural|comparatorClass"
				默认为:unsorted
			order-by属性:写的是order by 子句,是SQL语句,是操作的集合表。
				这是在查询数据时指定orderby子句。
		-->
		<set name="addressSet" table="user_addressSet" order-by="address ASC">
			<key column="userId"></key>
			<element type="string" column="address"></element>
		</set>
		
		<!-- addressList属性,List集合 
			list-index:用于存放索引的列
		-->
		<list name="addressList" table="user_addressList">
			<key column="userId"></key>
			<list-index column="idx"></list-index>
			<element type="string" column="address"></element>
		</list>
		
		<!-- addressArray属性,数组。与List的映射基本一致 -->
		<array name="addressArray" table="user_addressArray">
			<key column="userId"></key>
			<list-index column="idx"></list-index>
			<element type="string" column="address"></element>
		</array>
		
		<!-- addressMap属性,Map集合 -->
		<map name="addressMap" table="user_addressMap">
			<key column="userId"></key>
			<map-key type="string" column="key_"></map-key>
			<element type="string" column="address"></element>
		</map>
		
		<!-- addressBag属性,Bag集合:无序,可重复。与Set集合的映射基本一致 -->
		<bag name="addressBag" table="user_addressBag">
			<key column="userId"></key>
			<element type="string" column="address"></element>
		</bag>


你可能感兴趣的:(集合映射)