相信对mybatis/ibatis熟悉的小伙伴对这两个词汇一定特别熟悉,Collection是用来处理一对多的查询,Association是用来解决一对一的解决,这是大家对这俩词汇的理解,为什么我今天还要说这两者呢,因为我发现其实两者之间区别不是一对一与多对一的区别,只是在形式上一种区分而已,我用的mybatis是3.2.6版本,请看下面代码。
代码语言:javascript复制public class OrgProvince implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private String province;
private String provinceId;
private String shortPinyin;
private List<OrgCity> cities;
代码语言:javascript复制public class OrgCity implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private String city;
private String cityId;
上面是省份与城市的实体类,下面是mybatis xml内容:
代码语言:javascript复制<resultMap id="ProvinceMap" type="com.goldmantis.ecommerce.entity.orgactivity.OrgProvince">
<result column="province" property="province" jdbcType="VARCHAR" />
<result column="province_id" property="provinceId" jdbcType="VARCHAR" />
<association column="{provinceId=province_id,activityId=activity_id}" property="cities" select="selectCities"></
association>
</resultMap>
不管我是用association还是collection都能得到正确的数据。