mybatis 一对多映射 xml

Posted GOvoid

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis 一对多映射 xml相关的知识,希望对你有一定的参考价值。

最近在做一个评论功能时,涉及到一个评论对应多张图片,这个时候想一个方法全部返回,就需要在xml中进行配置。由于好久没用到一对多的配置,所以很长时间才写出来,mark一下

返回对象:

private String commentId;

private String commentContent;

private Date commentTime;

private String productId;

private String userId;

private String userName;

private String headImg;

private Integer startNum;

private Integer supportNum;

private List<CommentImg> commentImgs;

对应xml配置文件:

<mapper namespace="com.lefang.lf.vo.CommentGrid">

<resultMap type="com.lefang.lf.vo.CommentGrid" id="CommentGrid">

<id column="COMMENT_ID" property="commentId" />       

<result column="COMMENT_CONTENT" property="commentContent" />    

<result column="COMMENT_TIME" property="commentTime" />       

<result column="HEAD_IMG" property="headImg" />

<result column="PRODUCT_ID" property="productId" />  

<result column="USER_ID" property="userId"/>      

        <result column="USER_NAME" property="userName"/>

        <result column="START_NUM" property="startNum"/>

        <result column="SUPPORT_NUM" property="supportNum"/>

        <collection property="commentImgs" ofType="com.lefang.lf.model.CommentImg">

            <id column="img_id" property="id" />

    <result column="img_url" property="imgUrl" />

        </collection>

</resultMap>

 

<select id="grid" resultMap="CommentGrid">

select distinct

C.id COMMENT_ID,

C.COMMENT_CONTENT,

C.COMMENT_TIME,

C.PRODUCT_ID,

C.START_NUM,

C.SUPPORT_NUM,

C.USER_ID,

CI.ID IMG_ID,

CI.IMG_URL

from

L_LF_COMMENT C LEFT JOIN L_LF_COMMENT_IMG CI ON CI.COMMENT_ID = C.ID  

where 1 = 1

<if test="productId!=null">

AND C.PRODUCT_ID =#{productId}

</if>

order by COMMENT_TIME desc

</select>

</mapper>

以上是关于mybatis 一对多映射 xml的主要内容,如果未能解决你的问题,请参考以下文章

mybatis xml数据层框架应用--Mybatis关系映射之一对多关系映射

mybatis一对多映射

MyBatis一对多映射

MyBatis关联映射:一对一一对多总结一二

MyBatis高级查询 一对多映射

Mybatis框架中实现一对多关系映射