myBatis 返回集合List《实体》查询结果时 多条数据只返回一条数据

原因分析:

有<resultMap></resultMap>标签中多个同样的id字段名,查询时出现重复id,导致每个分表的id值跟主表一样,并且只有一条数据

解决方案:改用别名,避免冲突!具体看下面的例子:

改正之前:

<resultMap id="InvitationMap" type="com.fiveofteam.super_club.pojo.Invitation">
    <id column="uu_id" jdbcType="VARCHAR" property="uuId"/>
    <result column="invitation_title" jdbcType="VARCHAR" property="invitationTitle"/>
    <result column="invitation_author_id" jdbcType="VARCHAR" property="invitationAuthorId"/>
    <result column="invitation_content" jdbcType="VARCHAR" property="invitationContent"/>
    <result column="invitation_status" jdbcType="INTEGER" property="invitationStatus"/>
    <result column="invitation_access" jdbcType="INTEGER" property="invitationAccess"/>
    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
    <collection property="invitationTypeList" javaType="ArrayList" column="invitation_id"
                ofType="com.fiveofteam.super_club.pojo.InvitationType">
        <id column="uu_id" jdbcType="VARCHAR" property="uuId"/>
        <result column="invitation_id" jdbcType="VARCHAR" property="invitationId"/>
        <result column="invitation_type" jdbcType="VARCHAR" property="invitationType"/>
        <result column="sort" jdbcType="INTEGER" property="sort"/>
        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
    </collection>
    <collection property="invitationPhotosList" javaType="ArrayList" column="invitation_id"
                ofType="com.fiveofteam.super_club.pojo.InvitationPhotos">
        <id column="uu_id" jdbcType="VARCHAR" property="uuId"/>
        <result column="invitation_id" jdbcType="VARCHAR" property="invitationId"/>
        <result column="url" jdbcType="VARCHAR" property="url"/>
        <result column="sort" jdbcType="INTEGER" property="sort"/>
        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
    </collection>
</resultMap>

改正之后:

<resultMap id="InvitationMap" type="com.fiveofteam.super_club.pojo.Invitation">
    <id column="uu_id" jdbcType="VARCHAR" property="uuId"/>
    <result column="invitation_title" jdbcType="VARCHAR" property="invitationTitle"/>
    <result column="invitation_author_id" jdbcType="VARCHAR" property="invitationAuthorId"/>
    <result column="invitation_content" jdbcType="VARCHAR" property="invitationContent"/>
    <result column="invitation_status" jdbcType="INTEGER" property="invitationStatus"/>
    <result column="invitation_access" jdbcType="INTEGER" property="invitationAccess"/>
    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
    <collection property="invitationTypeList" javaType="ArrayList" column="invitation_id"
                ofType="com.fiveofteam.super_club.pojo.InvitationType">
        <id column="typeId" jdbcType="VARCHAR" property="typeId"/>
        <result column="invitation_id" jdbcType="VARCHAR" property="invitationId"/>
        <result column="invitation_type" jdbcType="VARCHAR" property="invitationType"/>
        <result column="sort" jdbcType="INTEGER" property="sort"/>
        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
    </collection>
    <collection property="invitationPhotosList" javaType="ArrayList" column="invitation_id"
                ofType="com.fiveofteam.super_club.pojo.InvitationPhotos">
        <id column="photosId" jdbcType="VARCHAR" property="photosId"/>
        <result column="invitation_id" jdbcType="VARCHAR" property="invitationId"/>
        <result column="url" jdbcType="VARCHAR" property="url"/>
        <result column="sort" jdbcType="INTEGER" property="sort"/>
        <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
    </collection>
</resultMap>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值