【问题标题】:how to use Multiple collection in Mybatis resultMapMybatis resultMap中如何使用Multiple collection
【发布时间】:2018-12-07 10:01:56
【问题描述】:

我有三个表,例如 A、B、C;这是我的 resultMap

<resultMap id="picUserResultMap" type="PicUserAlias">
<id property="id" column="ID"></id>
<result property="bindId" column="BINDID"></result>
<result property="createDate" column="CREATEDATE"></result>
<result property="pictureId" column="PICTUREID"></result>
<result property="picture" column="PICTURE"></result>
<result property="picDescribe" column="PICDESCRIBE"></result>
<result property="pictureNo" column="PICTURENO"></result>
<result property="userId" column="USERID"></result>
<collection property="picTypeUserList" ofType="picTypeUserAlias">
  <result property="userId" column="userid"></result>
  <result property="picTypeId" column="pictypeid"></result>
  <result property="content" column="content"></result>
  <result property="isTags" column="istags"></result>
</collection>
<collection property="picDiscussList" ofType="PicDiscussAlias">
  <result property="id" column="id"></result>
  <result property="discussUser" column="discussuser"></result>
  <result property="userId" column="userid"></result>
  <result property="picUserId" column="picuserid"></result>
  <result property="content" column="content"></result>
</collection>

这是我的 SQL 查询

<select id="getPicUserAndTypeById" resultMap="picUserResultMap">
SELECT
u.*, t.*,d.*
FROM
KO_PIC_USER u
LEFT JOIN (select tu.*,pt.istags from KO_PIC_TYPE_USER tu LEFT JOIN ko_pic_type pt on
tu.PICTYPEID=pt.ID WHERE pt.isshow=1) t ON t.PICUSERID = u.id
LEFT JOIN ko_pic_discuss d ON u.ID=d.PICUSERID
WHERE
u.BINDID = #{bindId} ORDER BY u.PICTURENO,t.istags

当我查询出来时,数据不准确,picDiscussList 像 picTypeUserList 我不知道为什么 任何帮助,将不胜感激。

【问题讨论】:

    标签: mybatis spring-mybatis


    【解决方案1】:

    Read the documentation about Advanced Result Maps。 两个集合都需要一个 id,例如:将 &lt;result property="picTypeId" column="pictypeid"&gt;&lt;/result&gt; 替换为 &lt;id property="picTypeId" column="pictypeid"/&gt;

    picTypeUserAliasPicDiscussAlias 类型不应需要 userid 和 id 属性。

    【讨论】:

      猜你喜欢
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      • 2019-11-20
      • 2016-07-23
      • 1970-01-01
      • 2012-11-10
      • 2016-04-18
      • 1970-01-01
      相关资源
      最近更新 更多