介绍association用法

一篇博客中存在多个评论

在博客实体类中增加评论属性

private List<FaqComment> faqcomlist;

在mybatis中增加

<association property="faqcomlist" column="id"
        select="com.dts.mapper.faq.FaqCommentMapper.queryList" />

id为博客id

在评论的映射文件中加入

<select id="queryList" parameterType="java.lang.Integer" resultMap="BaseResultMap2">
        SELECT co.*,cu.username AS assign_user FROM dts_faq_comment co LEFT JOIN dts_user cu ON
        cu.id=co.create_user_id  WHERE faq_id=#{value}  ORDER BY id DESC
  </select>



这里你应该注意很多东西,但大部分代码和上面的关联元素是非常相似的。首先,你应

该注意我们使用的是集合元素。然后要注意那个新的“of Type”属性。这个属性用来区分

JavaBean(或字段)属性类型和集合包含的类型来说是很重要的。所以你可以读出下面这个

映射:

<collection property="posts" javaType=”ArrayList” column="blog_id"

ofType="Post" select=”selectPostsForBlog”/>

读作:“在Post类型的ArrayList中的posts的集合。”

javaType属性是不需要的,因为MyBatis在很多情况下会为你算出来。所以你可以缩短

写法:

<collection property="posts" column="blog_id" ofType="Post" select=”selectPostsForBlog”/>

集合的嵌套结果